aboutsummaryrefslogtreecommitdiffstats
path: root/main/linux-grsec
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-12-23 08:01:53 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-12-23 15:29:33 +0000
commit862738e0c8becc4c6522968e23e335c056f44e95 (patch)
tree22176d5a845e2dd17d799841f8ffb3983c72fd2f /main/linux-grsec
parent3b8cdd62140c184189e71c14a65c2f23ac7d6d84 (diff)
downloadaports-862738e0c8becc4c6522968e23e335c056f44e95.tar.bz2
aports-862738e0c8becc4c6522968e23e335c056f44e95.tar.xz
main/linux-grsec: upgrade to 3.12.6
Diffstat (limited to 'main/linux-grsec')
-rw-r--r--main/linux-grsec/APKBUILD16
-rw-r--r--main/linux-grsec/grsecurity-3.0-3.12.6-201312221037.patch (renamed from main/linux-grsec/grsecurity-3.0-3.12.5-201312151212.patch)787
2 files changed, 331 insertions, 472 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 14aeb0ddad..c7d98ac324 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=3.12.5
+pkgver=3.12.6
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=${pkgver};;
@@ -17,7 +17,7 @@ _config=${config:-kernelconfig.${CARCH}}
install=
source="http://ftp.kernel.org/pub/linux/kernel/v3.x/linux-$_kernver.tar.xz
http://ftp.kernel.org/pub/linux/kernel/v3.x/patch-$pkgver.xz
- grsecurity-3.0-$pkgver-201312151212.patch
+ grsecurity-3.0-3.12.6-201312221037.patch
fix-memory-map-for-PIE-applications.patch
@@ -144,20 +144,20 @@ dev() {
}
md5sums="cc6ee608854e0da4b64f6c1ff8b6398c linux-3.12.tar.xz
-70e456d21f7e7c0dc2f9bd170f1ae4ee patch-3.12.5.xz
-81ff7554dff7791db8880c67e3983d56 grsecurity-3.0-3.12.5-201312151212.patch
+9e75be8b127e58f1a76c0015eabb12ae patch-3.12.6.xz
+08fb432729eecd94fbd97d2b413043a1 grsecurity-3.0-3.12.6-201312221037.patch
c6a4ae7e8ca6159e1631545515805216 fix-memory-map-for-PIE-applications.patch
1be334b642b74ce8ee6ad499491470b0 kernelconfig.x86
f073b6d53be4460289eb4c9cfa1a3909 kernelconfig.x86_64"
sha256sums="2e120ec7fde19fa51dc6b6cc11c81860a0775defcad5a5bf910ed9a50e845a02 linux-3.12.tar.xz
-bfb519ae2a3662340cb20b5f9433f9b3b8598e612286274f96ec8c8bf6bc09c4 patch-3.12.5.xz
-0fa7f629dea0eb02019f730f1bf216d5c70851de740d57dab74c23eb88749c68 grsecurity-3.0-3.12.5-201312151212.patch
+d3f0fab91fa4f25b685ae087030252feedb0169061c2f486cdf38b399e4baf7a patch-3.12.6.xz
+3db8444dda3eb2b6d41abd8f6d280303bbe2c57f3508b2537e2d3fe24aa7346a grsecurity-3.0-3.12.6-201312221037.patch
500f3577310be52e87b9fecdc2e9c4ca43210fd97d69089f9005d484563f74c7 fix-memory-map-for-PIE-applications.patch
1e4ea33e1368b50cda84c1da3dac2b1e20057e045f37cd0506a1f0a321630aba kernelconfig.x86
213c1fc7f0694883d4bce982adc2b40756261282e030b9305b0cbccb3b175b32 kernelconfig.x86_64"
sha512sums="4ba5797e0772726d05c9f2eee66dc6dc2a5033c749ef44764c805a83da739ed5d0c6443b76785e38fe1ef74cc7ade787e48144faed0cfcb6f124f05248c700ff linux-3.12.tar.xz
-4bf50be98a56d1c0721b4d8fded68d750213ac5120b8a57d51af3268adea7b96b795f1cb615219b64a0c8fbb479bc428526a53e257b4a24a19ffbc4c4e598a12 patch-3.12.5.xz
-422576f6b72182a3fdf2310a6e3e2931e3b18ae72f6709408e5dd32920c99407673e4c32f48c74ec841bbf7da04d6049fddfe3221aef16fc23f3736ab4bcee6d grsecurity-3.0-3.12.5-201312151212.patch
+dd386fa4ace7a2a63c788540fb4b76a621c2aa7ac874e2ebbf81014da255f6811584e93a4e92beffda88e33e848d8a69cdcb33cce81387b35c79ff49fc32563c patch-3.12.6.xz
+f98a05fffdffee62cdb6ceaea1326d6231e391ba771f69c24e5ea0b7f3b83a1346530c48170c0fce9cf7681a247786d3324d1034c3f10e0fcf2db61429a16705 grsecurity-3.0-3.12.6-201312221037.patch
4665c56ae1bbac311f9205d64918e84ee8b01d47d6e2396ff6b8adfb10aada7f7254531ce62e31edbb65c2a54a830f09ad05d314dfcd75d6272f4068945ad7c7 fix-memory-map-for-PIE-applications.patch
381b2074adcc336ef0e015d52bc8a98cd7dd25d17aaa3c7c1768dd8244ee1f15c470e61514eb979b1c3e516e54eba6e51eab69b780553d5f3f8a283f2ba91851 kernelconfig.x86
0aec64a170ec14e4a8de7f9b2b28513a95839cacd2b319628f7c9421179cd76b75e528847b10fe15441432d91b3d930605440c2c9442de59c51eeb4ab3f3921d kernelconfig.x86_64"
diff --git a/main/linux-grsec/grsecurity-3.0-3.12.5-201312151212.patch b/main/linux-grsec/grsecurity-3.0-3.12.6-201312221037.patch
index 81f0265cdc..12c5249c45 100644
--- a/main/linux-grsec/grsecurity-3.0-3.12.5-201312151212.patch
+++ b/main/linux-grsec/grsecurity-3.0-3.12.6-201312221037.patch
@@ -281,7 +281,7 @@ index fcbb736..5508d8c 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index 986f3cd..8691deb 100644
+index 2b23383..a66cff0 100644
--- a/Makefile
+++ b/Makefile
@@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -2819,7 +2819,7 @@ index 07314af..c46655c 100644
flush_icache_range((uintptr_t)(addr),
(uintptr_t)(addr) + size);
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
-index 94f6b05..efd7312 100644
+index 92f7b15..7048500 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -217,6 +217,7 @@ void machine_power_off(void)
@@ -2850,7 +2850,7 @@ index 94f6b05..efd7312 100644
printk("pc : [<%08lx>] lr : [<%08lx>] psr: %08lx\n"
"sp : %08lx ip : %08lx fp : %08lx\n",
regs->ARM_pc, regs->ARM_lr, regs->ARM_cpsr,
-@@ -422,12 +423,6 @@ unsigned long get_wchan(struct task_struct *p)
+@@ -425,12 +426,6 @@ unsigned long get_wchan(struct task_struct *p)
return 0;
}
@@ -2863,7 +2863,7 @@ index 94f6b05..efd7312 100644
#ifdef CONFIG_MMU
#ifdef CONFIG_KUSER_HELPERS
/*
-@@ -443,7 +438,7 @@ static struct vm_area_struct gate_vma = {
+@@ -446,7 +441,7 @@ static struct vm_area_struct gate_vma = {
static int __init gate_vma_init(void)
{
@@ -2872,7 +2872,7 @@ index 94f6b05..efd7312 100644
return 0;
}
arch_initcall(gate_vma_init);
-@@ -469,41 +464,16 @@ int in_gate_area_no_mm(unsigned long addr)
+@@ -472,41 +467,16 @@ int in_gate_area_no_mm(unsigned long addr)
const char *arch_vma_name(struct vm_area_struct *vma)
{
@@ -3083,7 +3083,7 @@ index 72024ea..ae302dd 100644
void __init smp_set_ops(struct smp_operations *ops)
{
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
-index 8fcda14..4512b9d 100644
+index 65ed63f..430c478 100644
--- a/arch/arm/kernel/traps.c
+++ b/arch/arm/kernel/traps.c
@@ -55,7 +55,7 @@ static void dump_mem(const char *, const char *, unsigned long, unsigned long);
@@ -3114,7 +3114,7 @@ index 8fcda14..4512b9d 100644
if (signr)
do_exit(signr);
}
-@@ -628,7 +633,9 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
+@@ -629,7 +634,9 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
* The user helper at 0xffff0fe0 must be used instead.
* (see entry-armv.S for details)
*/
@@ -3124,7 +3124,7 @@ index 8fcda14..4512b9d 100644
}
return 0;
-@@ -885,7 +892,11 @@ void __init early_trap_init(void *vectors_base)
+@@ -886,7 +893,11 @@ void __init early_trap_init(void *vectors_base)
kuser_init(vectors_base);
flush_icache_range(vectors, vectors + PAGE_SIZE * 2);
@@ -3567,7 +3567,7 @@ index 17ca1ae..beba869 100644
struct omap_device *omap_device_alloc(struct platform_device *pdev,
struct omap_hwmod **ohs, int oh_cnt);
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 3d5db8c..ddfa144 100644
+index 832adb1..49b62c4 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -194,10 +194,10 @@ struct omap_hwmod_soc_ops {
@@ -7678,7 +7678,7 @@ index 88693ce..ac6f9ab 100644
#include <asm-generic/getorder.h>
diff --git a/arch/powerpc/include/asm/pgalloc-64.h b/arch/powerpc/include/asm/pgalloc-64.h
-index f65e27b..23ffb5b 100644
+index 256d6f8..b0166a7 100644
--- a/arch/powerpc/include/asm/pgalloc-64.h
+++ b/arch/powerpc/include/asm/pgalloc-64.h
@@ -53,6 +53,7 @@ static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
@@ -7701,7 +7701,7 @@ index f65e27b..23ffb5b 100644
#define pmd_populate(mm, pmd, pte_page) \
pmd_populate_kernel(mm, pmd, page_address(pte_page))
#define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, (unsigned long)(pte))
-@@ -171,6 +177,7 @@ extern void __tlb_remove_table(void *_table);
+@@ -169,6 +175,7 @@ extern void __tlb_remove_table(void *_table);
#endif
#define pud_populate(mm, pud, pmd) pud_set(pud, (unsigned long)pmd)
@@ -11742,7 +11742,7 @@ index 78d91af..8ceb94b 100644
This option helps catch unintended modifications to loadable
kernel module's text and read-only data. It also prevents execution
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
-index eda00f9..c511701 100644
+index 57d0215..b4373fb 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -49,14 +49,12 @@ ifeq ($(CONFIG_X86_32),y)
@@ -11785,13 +11785,13 @@ index eda00f9..c511701 100644
+archprepare:
+ $(if $(LDFLAGS_BUILD_ID),,$(error $(OLD_LD)))
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
-index 379814b..add62ce 100644
+index 6cf0111..f2e2398 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
-@@ -65,6 +65,9 @@ KBUILD_CFLAGS := $(USERINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
+@@ -65,6 +65,9 @@ KBUILD_CFLAGS := $(USERINCLUDE) -m32 -g -Os -D_SETUP -D__KERNEL__ \
+ $(call cc-option, -fno-unit-at-a-time)) \
$(call cc-option, -fno-stack-protector) \
$(call cc-option, -mpreferred-stack-boundary=2)
- KBUILD_CFLAGS += $(call cc-option, -m32)
+ifdef CONSTIFY_PLUGIN
+KBUILD_CFLAGS += -fplugin-arg-constify_plugin-no-constify
+endif
@@ -11843,11 +11843,11 @@ index ef72bae..353a184 100644
return diff;
}
diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
-index dcd90df..c830d7d 100644
+index c8a6792..2402765 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
-@@ -15,6 +15,9 @@ cflags-$(CONFIG_X86_64) := -mcmodel=small
- KBUILD_CFLAGS += $(cflags-y)
+@@ -16,6 +16,9 @@ KBUILD_CFLAGS += $(cflags-y)
+ KBUILD_CFLAGS += -mno-mmx -mno-sse
KBUILD_CFLAGS += $(call cc-option,-ffreestanding)
KBUILD_CFLAGS += $(call cc-option,-fno-stack-protector)
+ifdef CONSTIFY_PLUGIN
@@ -14263,7 +14263,7 @@ index 20370c6..a2eb9b0 100644
"popl %%ebp\n\t"
"popl %%edi\n\t"
diff --git a/arch/x86/include/asm/atomic.h b/arch/x86/include/asm/atomic.h
-index 722aa3b..3a0bb27 100644
+index 722aa3b..c392d85 100644
--- a/arch/x86/include/asm/atomic.h
+++ b/arch/x86/include/asm/atomic.h
@@ -22,7 +22,18 @@
@@ -14280,7 +14280,7 @@ index 722aa3b..3a0bb27 100644
+ *
+ * Atomically reads the value of @v.
+ */
-+static inline int atomic_read_unchecked(const atomic_unchecked_t *v)
++static inline int __intentional_overflow(-1) atomic_read_unchecked(const atomic_unchecked_t *v)
+{
+ return (*(volatile const int *)&(v)->counter);
}
@@ -14535,7 +14535,7 @@ index 722aa3b..3a0bb27 100644
return i + xadd(&v->counter, i);
}
-@@ -188,6 +362,10 @@ static inline int atomic_sub_return(int i, atomic_t *v)
+@@ -188,9 +362,18 @@ static inline int atomic_sub_return(int i, atomic_t *v)
}
#define atomic_inc_return(v) (atomic_add_return(1, v))
@@ -14545,18 +14545,17 @@ index 722aa3b..3a0bb27 100644
+}
#define atomic_dec_return(v) (atomic_sub_return(1, v))
- static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
-@@ -195,11 +373,21 @@ static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
- return cmpxchg(&v->counter, old, new);
- }
-
-+static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *v, int old, int new)
+-static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
++static inline int __intentional_overflow(-1) atomic_cmpxchg(atomic_t *v, int old, int new)
+{
+ return cmpxchg(&v->counter, old, new);
+}
+
- static inline int atomic_xchg(atomic_t *v, int new)
++static inline int atomic_cmpxchg_unchecked(atomic_unchecked_t *v, int old, int new)
{
+ return cmpxchg(&v->counter, old, new);
+ }
+@@ -200,6 +383,11 @@ static inline int atomic_xchg(atomic_t *v, int new)
return xchg(&v->counter, new);
}
@@ -14568,9 +14567,12 @@ index 722aa3b..3a0bb27 100644
/**
* __atomic_add_unless - add unless the number is already a given value
* @v: pointer of type atomic_t
-@@ -211,12 +399,25 @@ static inline int atomic_xchg(atomic_t *v, int new)
+@@ -209,14 +397,27 @@ static inline int atomic_xchg(atomic_t *v, int new)
+ * Atomically adds @a to @v, so long as @v was not already @u.
+ * Returns the old value of @v.
*/
- static inline int __atomic_add_unless(atomic_t *v, int a, int u)
+-static inline int __atomic_add_unless(atomic_t *v, int a, int u)
++static inline int __intentional_overflow(-1) __atomic_add_unless(atomic_t *v, int a, int u)
{
- int c, old;
+ int c, old, new;
@@ -14693,7 +14695,7 @@ index 722aa3b..3a0bb27 100644
/* Atomic operations are already serializing on x86 */
#define smp_mb__before_atomic_dec() barrier()
diff --git a/arch/x86/include/asm/atomic64_32.h b/arch/x86/include/asm/atomic64_32.h
-index b154de7..aadebd8 100644
+index b154de7..bf18a5a 100644
--- a/arch/x86/include/asm/atomic64_32.h
+++ b/arch/x86/include/asm/atomic64_32.h
@@ -12,6 +12,14 @@ typedef struct {
@@ -14797,7 +14799,7 @@ index b154de7..aadebd8 100644
+ *
+ * Atomically reads the value of @v and returns it.
+ */
-+static inline long long atomic64_read_unchecked(atomic64_unchecked_t *v)
++static inline long long __intentional_overflow(-1) atomic64_read_unchecked(atomic64_unchecked_t *v)
+{
+ long long r;
+ alternative_atomic64(read, "=&A" (r), "c" (v) : "memory");
@@ -14868,7 +14870,7 @@ index b154de7..aadebd8 100644
* @i: integer value to subtract
* @v: pointer to type atomic64_t
diff --git a/arch/x86/include/asm/atomic64_64.h b/arch/x86/include/asm/atomic64_64.h
-index 0e1cbfc..5623683 100644
+index 0e1cbfc..a891fc7 100644
--- a/arch/x86/include/asm/atomic64_64.h
+++ b/arch/x86/include/asm/atomic64_64.h
@@ -18,7 +18,19 @@
@@ -14886,7 +14888,7 @@ index 0e1cbfc..5623683 100644
+ * Atomically reads the value of @v.
+ * Doesn't imply a read memory barrier.
+ */
-+static inline long atomic64_read_unchecked(const atomic64_unchecked_t *v)
++static inline long __intentional_overflow(-1) atomic64_read_unchecked(const atomic64_unchecked_t *v)
+{
+ return (*(volatile const long *)&(v)->counter);
}
@@ -27336,7 +27338,7 @@ index b110fe6..d9c19f2 100644
out:
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
-index 5439117..f4d21f7 100644
+index dec48bf..f4d21f7 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -55,7 +55,7 @@
@@ -27348,117 +27350,6 @@ index 5439117..f4d21f7 100644
#define APIC_LVT_NUM 6
/* 14 is the version for Xeon and Pentium 8.4.8*/
-@@ -143,6 +143,8 @@ static inline int kvm_apic_id(struct kvm_lapic *apic)
- return (kvm_apic_get_reg(apic, APIC_ID) >> 24) & 0xff;
- }
-
-+#define KVM_X2APIC_CID_BITS 0
-+
- static void recalculate_apic_map(struct kvm *kvm)
- {
- struct kvm_apic_map *new, *old = NULL;
-@@ -180,7 +182,8 @@ static void recalculate_apic_map(struct kvm *kvm)
- if (apic_x2apic_mode(apic)) {
- new->ldr_bits = 32;
- new->cid_shift = 16;
-- new->cid_mask = new->lid_mask = 0xffff;
-+ new->cid_mask = (1 << KVM_X2APIC_CID_BITS) - 1;
-+ new->lid_mask = 0xffff;
- } else if (kvm_apic_sw_enabled(apic) &&
- !new->cid_mask /* flat mode */ &&
- kvm_apic_get_reg(apic, APIC_DFR) == APIC_DFR_CLUSTER) {
-@@ -841,7 +844,8 @@ static u32 apic_get_tmcct(struct kvm_lapic *apic)
- ASSERT(apic != NULL);
-
- /* if initial count is 0, current count should also be 0 */
-- if (kvm_apic_get_reg(apic, APIC_TMICT) == 0)
-+ if (kvm_apic_get_reg(apic, APIC_TMICT) == 0 ||
-+ apic->lapic_timer.period == 0)
- return 0;
-
- remaining = hrtimer_get_remaining(&apic->lapic_timer.timer);
-@@ -1691,7 +1695,6 @@ static void apic_sync_pv_eoi_from_guest(struct kvm_vcpu *vcpu,
- void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu)
- {
- u32 data;
-- void *vapic;
-
- if (test_bit(KVM_APIC_PV_EOI_PENDING, &vcpu->arch.apic_attention))
- apic_sync_pv_eoi_from_guest(vcpu, vcpu->arch.apic);
-@@ -1699,9 +1702,8 @@ void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu)
- if (!test_bit(KVM_APIC_CHECK_VAPIC, &vcpu->arch.apic_attention))
- return;
-
-- vapic = kmap_atomic(vcpu->arch.apic->vapic_page);
-- data = *(u32 *)(vapic + offset_in_page(vcpu->arch.apic->vapic_addr));
-- kunmap_atomic(vapic);
-+ kvm_read_guest_cached(vcpu->kvm, &vcpu->arch.apic->vapic_cache, &data,
-+ sizeof(u32));
-
- apic_set_tpr(vcpu->arch.apic, data & 0xff);
- }
-@@ -1737,7 +1739,6 @@ void kvm_lapic_sync_to_vapic(struct kvm_vcpu *vcpu)
- u32 data, tpr;
- int max_irr, max_isr;
- struct kvm_lapic *apic = vcpu->arch.apic;
-- void *vapic;
-
- apic_sync_pv_eoi_to_guest(vcpu, apic);
-
-@@ -1753,18 +1754,24 @@ void kvm_lapic_sync_to_vapic(struct kvm_vcpu *vcpu)
- max_isr = 0;
- data = (tpr & 0xff) | ((max_isr & 0xf0) << 8) | (max_irr << 24);
-
-- vapic = kmap_atomic(vcpu->arch.apic->vapic_page);
-- *(u32 *)(vapic + offset_in_page(vcpu->arch.apic->vapic_addr)) = data;
-- kunmap_atomic(vapic);
-+ kvm_write_guest_cached(vcpu->kvm, &vcpu->arch.apic->vapic_cache, &data,
-+ sizeof(u32));
- }
-
--void kvm_lapic_set_vapic_addr(struct kvm_vcpu *vcpu, gpa_t vapic_addr)
-+int kvm_lapic_set_vapic_addr(struct kvm_vcpu *vcpu, gpa_t vapic_addr)
- {
-- vcpu->arch.apic->vapic_addr = vapic_addr;
-- if (vapic_addr)
-+ if (vapic_addr) {
-+ if (kvm_gfn_to_hva_cache_init(vcpu->kvm,
-+ &vcpu->arch.apic->vapic_cache,
-+ vapic_addr, sizeof(u32)))
-+ return -EINVAL;
- __set_bit(KVM_APIC_CHECK_VAPIC, &vcpu->arch.apic_attention);
-- else
-+ } else {
- __clear_bit(KVM_APIC_CHECK_VAPIC, &vcpu->arch.apic_attention);
-+ }
-+
-+ vcpu->arch.apic->vapic_addr = vapic_addr;
-+ return 0;
- }
-
- int kvm_x2apic_msr_write(struct kvm_vcpu *vcpu, u32 msr, u64 data)
-diff --git a/arch/x86/kvm/lapic.h b/arch/x86/kvm/lapic.h
-index c730ac9..c8b0d0d 100644
---- a/arch/x86/kvm/lapic.h
-+++ b/arch/x86/kvm/lapic.h
-@@ -34,7 +34,7 @@ struct kvm_lapic {
- */
- void *regs;
- gpa_t vapic_addr;
-- struct page *vapic_page;
-+ struct gfn_to_hva_cache vapic_cache;
- unsigned long pending_events;
- unsigned int sipi_vector;
- };
-@@ -76,7 +76,7 @@ void kvm_set_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu, u64 data);
- void kvm_apic_write_nodecode(struct kvm_vcpu *vcpu, u32 offset);
- void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, int vector);
-
--void kvm_lapic_set_vapic_addr(struct kvm_vcpu *vcpu, gpa_t vapic_addr);
-+int kvm_lapic_set_vapic_addr(struct kvm_vcpu *vcpu, gpa_t vapic_addr);
- void kvm_lapic_sync_from_vapic(struct kvm_vcpu *vcpu);
- void kvm_lapic_sync_to_vapic(struct kvm_vcpu *vcpu);
-
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index ad75d77..a679d32 100644
--- a/arch/x86/kvm/paging_tmpl.h
@@ -27660,7 +27551,7 @@ index 2b2fce1..da76be4 100644
vcpu->arch.regs_avail = ~((1 << VCPU_REGS_RIP) | (1 << VCPU_REGS_RSP)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
-index e5ca72a..0f30b12 100644
+index eb9b9c9..0f30b12 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -1779,8 +1779,8 @@ static int xen_hvm_config(struct kvm_vcpu *vcpu, u64 data)
@@ -27683,17 +27574,7 @@ index e5ca72a..0f30b12 100644
if (copy_to_user(user_msr_list->indices, &msrs_to_save,
num_msrs_to_save * sizeof(u32)))
goto out;
-@@ -3192,8 +3194,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
- r = -EFAULT;
- if (copy_from_user(&va, argp, sizeof va))
- goto out;
-- r = 0;
-- kvm_lapic_set_vapic_addr(vcpu, va.vapic_addr);
-+ r = kvm_lapic_set_vapic_addr(vcpu, va.vapic_addr);
- break;
- }
- case KVM_X86_SETUP_MCE: {
-@@ -5462,7 +5463,7 @@ static struct notifier_block pvclock_gtod_notifier = {
+@@ -5461,7 +5463,7 @@ static struct notifier_block pvclock_gtod_notifier = {
};
#endif
@@ -27702,64 +27583,6 @@ index e5ca72a..0f30b12 100644
{
int r;
struct kvm_x86_ops *ops = opaque;
-@@ -5718,36 +5719,6 @@ static void post_kvm_run_save(struct kvm_vcpu *vcpu)
- !kvm_event_needs_reinjection(vcpu);
- }
-
--static int vapic_enter(struct kvm_vcpu *vcpu)
--{
-- struct kvm_lapic *apic = vcpu->arch.apic;
-- struct page *page;
--
-- if (!apic || !apic->vapic_addr)
-- return 0;
--
-- page = gfn_to_page(vcpu->kvm, apic->vapic_addr >> PAGE_SHIFT);
-- if (is_error_page(page))
-- return -EFAULT;
--
-- vcpu->arch.apic->vapic_page = page;
-- return 0;
--}
--
--static void vapic_exit(struct kvm_vcpu *vcpu)
--{
-- struct kvm_lapic *apic = vcpu->arch.apic;
-- int idx;
--
-- if (!apic || !apic->vapic_addr)
-- return;
--
-- idx = srcu_read_lock(&vcpu->kvm->srcu);
-- kvm_release_page_dirty(apic->vapic_page);
-- mark_page_dirty(vcpu->kvm, apic->vapic_addr >> PAGE_SHIFT);
-- srcu_read_unlock(&vcpu->kvm->srcu, idx);
--}
--
- static void update_cr8_intercept(struct kvm_vcpu *vcpu)
- {
- int max_irr, tpr;
-@@ -6047,11 +6018,6 @@ static int __vcpu_run(struct kvm_vcpu *vcpu)
- struct kvm *kvm = vcpu->kvm;
-
- vcpu->srcu_idx = srcu_read_lock(&kvm->srcu);
-- r = vapic_enter(vcpu);
-- if (r) {
-- srcu_read_unlock(&kvm->srcu, vcpu->srcu_idx);
-- return r;
-- }
-
- r = 1;
- while (r > 0) {
-@@ -6110,8 +6076,6 @@ static int __vcpu_run(struct kvm_vcpu *vcpu)
-
- srcu_read_unlock(&kvm->srcu, vcpu->srcu_idx);
-
-- vapic_exit(vcpu);
--
- return r;
- }
-
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index bdf8532..f63c587 100644
--- a/arch/x86/lguest/boot.c
@@ -34214,11 +34037,11 @@ index a44f457..9140171 100644
#endif
}
diff --git a/arch/x86/realmode/rm/Makefile b/arch/x86/realmode/rm/Makefile
-index 8869287..d577672 100644
+index 9cac825..4890b25 100644
--- a/arch/x86/realmode/rm/Makefile
+++ b/arch/x86/realmode/rm/Makefile
-@@ -78,5 +78,8 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -m32 -g -Os -D_SETUP -D__KERNEL__ -D_WAKEUP \
- $(call cc-option, -fno-unit-at-a-time)) \
+@@ -79,5 +79,8 @@ KBUILD_CFLAGS := $(LINUXINCLUDE) -m32 -g -Os -D_SETUP -D__KERNEL__ -D_WAKEUP \
+ $(call cc-option, -fno-unit-at-a-time)) \
$(call cc-option, -fno-stack-protector) \
$(call cc-option, -mpreferred-stack-boundary=2)
+ifdef CONSTIFY_PLUGIN
@@ -39267,10 +39090,10 @@ index 4b91228..590c643 100644
iir = I915_READ(IIR);
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 333aa1b..0183e38 100644
+index f535670..bde09e2 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -9976,13 +9976,13 @@ struct intel_quirk {
+@@ -10019,13 +10019,13 @@ struct intel_quirk {
int subsystem_vendor;
int subsystem_device;
void (*hook)(struct drm_device *dev);
@@ -39286,7 +39109,7 @@ index 333aa1b..0183e38 100644
static int intel_dmi_reverse_brightness(const struct dmi_system_id *id)
{
-@@ -9990,18 +9990,20 @@ static int intel_dmi_reverse_brightness(const struct dmi_system_id *id)
+@@ -10033,18 +10033,20 @@ static int intel_dmi_reverse_brightness(const struct dmi_system_id *id)
return 1;
}
@@ -40285,10 +40108,10 @@ index ec0ae2d..dc0780b 100644
/* copy over all the bus versions */
if (dev->bus && dev->bus->pm) {
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
-index c08b5c1..6c3d50b 100644
+index aedfe50..1dc929b 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
-@@ -2415,7 +2415,7 @@ EXPORT_SYMBOL_GPL(hid_ignore);
+@@ -2416,7 +2416,7 @@ EXPORT_SYMBOL_GPL(hid_ignore);
int hid_add_device(struct hid_device *hdev)
{
@@ -40297,7 +40120,7 @@ index c08b5c1..6c3d50b 100644
int ret;
if (WARN_ON(hdev->status & HID_STAT_ADDED))
-@@ -2449,7 +2449,7 @@ int hid_add_device(struct hid_device *hdev)
+@@ -2450,7 +2450,7 @@ int hid_add_device(struct hid_device *hdev)
/* XXX hack, any other cleaner solution after the driver core
* is converted to allow more than 20 bytes as the device name? */
dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus,
@@ -42404,7 +42227,7 @@ index 9584443..9fc9ac9 100644
return (test_bit(DM_RAID1_FLUSH_ERROR, &(m->error_type))) ? 'F' :
diff --git a/drivers/md/dm-stats.c b/drivers/md/dm-stats.c
-index 3d404c1..b62af0e 100644
+index 28a9012..9c0f6a5 100644
--- a/drivers/md/dm-stats.c
+++ b/drivers/md/dm-stats.c
@@ -382,7 +382,7 @@ do_sync_free:
@@ -42470,10 +42293,10 @@ index 73c1712..7347292 100644
schedule_work(&sc->trigger_event);
}
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
-index 41d907b..34b87ee 100644
+index 20a8cc0..5447b11 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
-@@ -286,7 +286,7 @@ static struct dm_dev_internal *find_device(struct list_head *l, dev_t dev)
+@@ -291,7 +291,7 @@ static struct dm_dev_internal *find_device(struct list_head *l, dev_t dev)
static int open_dev(struct dm_dev_internal *d, dev_t dev,
struct mapped_device *md)
{
@@ -42482,7 +42305,7 @@ index 41d907b..34b87ee 100644
struct block_device *bdev;
int r;
-@@ -354,7 +354,7 @@ static int device_area_is_invalid(struct dm_target *ti, struct dm_dev *dev,
+@@ -359,7 +359,7 @@ static int device_area_is_invalid(struct dm_target *ti, struct dm_dev *dev,
if (!dev_size)
return 0;
@@ -42492,7 +42315,7 @@ index 41d907b..34b87ee 100644
"start=%llu, len=%llu, dev_size=%llu",
dm_device_name(ti->table->md), bdevname(bdev, b),
diff --git a/drivers/md/dm-thin-metadata.c b/drivers/md/dm-thin-metadata.c
-index 60bce43..9b997d0 100644
+index 8a30ad5..72792d3 100644
--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
@@ -397,7 +397,7 @@ static void __setup_btree_details(struct dm_pool_metadata *pmd)
@@ -45302,10 +45125,10 @@ index 7aad766..06addb4 100644
data->sku_cap_band_24GHz_enable ? "" : "NOT", "enabled",
data->sku_cap_band_52GHz_enable ? "" : "NOT", "enabled",
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c
-index c3f904d..4cadf83 100644
+index 6bc3100..dd1b80d 100644
--- a/drivers/net/wireless/iwlwifi/pcie/trans.c
+++ b/drivers/net/wireless/iwlwifi/pcie/trans.c
-@@ -1252,7 +1252,7 @@ static ssize_t iwl_dbgfs_interrupt_write(struct file *file,
+@@ -1249,7 +1249,7 @@ static ssize_t iwl_dbgfs_interrupt_write(struct file *file,
struct isr_statistics *isr_stats = &trans_pcie->isr_stats;
char buf[8];
@@ -45314,7 +45137,7 @@ index c3f904d..4cadf83 100644
u32 reset_flag;
memset(buf, 0, sizeof(buf));
-@@ -1273,7 +1273,7 @@ static ssize_t iwl_dbgfs_csr_write(struct file *file,
+@@ -1270,7 +1270,7 @@ static ssize_t iwl_dbgfs_csr_write(struct file *file,
{
struct iwl_trans *trans = file->private_data;
char buf[8];
@@ -49513,7 +49336,7 @@ index 2a3bbdf..91d72cf 100644
file->f_version = event_count;
return POLLIN | POLLRDNORM;
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
-index 71dc5d7..6135ff2 100644
+index 71dc5d7..300db0e 100644
--- a/drivers/usb/core/devio.c
+++ b/drivers/usb/core/devio.c
@@ -187,7 +187,7 @@ static ssize_t usbdev_read(struct file *file, char __user *buf, size_t nbytes,
@@ -49525,7 +49348,7 @@ index 71dc5d7..6135ff2 100644
loff_t pos;
int i;
-@@ -229,13 +229,13 @@ static ssize_t usbdev_read(struct file *file, char __user *buf, size_t nbytes,
+@@ -229,16 +229,16 @@ static ssize_t usbdev_read(struct file *file, char __user *buf, size_t nbytes,
for (i = 0; nbytes && i < dev->descriptor.bNumConfigurations; i++) {
struct usb_config_descriptor *config =
(struct usb_config_descriptor *)dev->rawdescriptors[i];
@@ -49540,7 +49363,11 @@ index 71dc5d7..6135ff2 100644
+ size_t alloclen =
le16_to_cpu(dev->config[i].desc.wTotalLength);
- len = length - (*ppos - pos);
+- len = length - (*ppos - pos);
++ len = length + pos - *ppos;
+ if (len > nbytes)
+ len = nbytes;
+
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index f20a044..d1059aa 100644
--- a/drivers/usb/core/hcd.c
@@ -49564,7 +49391,7 @@ index f20a044..d1059aa 100644
wake_up(&usb_kill_urb_queue);
usb_put_urb(urb);
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index 243c672..8b66fbb 100644
+index c5c3667..e54e5cd 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -27,6 +27,7 @@
@@ -49644,7 +49471,7 @@ index 0a6ee2e..6f8d7e8 100644
INIT_LIST_HEAD(&dev->ep0.urb_list);
dev->ep0.desc.bLength = USB_DT_ENDPOINT_SIZE;
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
-index 5452c0f..34c9145 100644
+index 02e44fc..3c4fe64 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -532,8 +532,6 @@ static int __dwc3_gadget_ep_enable(struct dwc3_ep *dep,
@@ -53584,7 +53411,7 @@ index 89dec7f..361b0d75 100644
fd_offset + ex.a_text);
if (error != N_DATADDR(ex)) {
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
-index 4c94a79..2610454 100644
+index 4c94a79..228e9da 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -34,6 +34,7 @@
@@ -53753,7 +53580,7 @@ index 4c94a79..2610454 100644
}
error = load_addr;
-@@ -538,6 +569,315 @@ out:
+@@ -538,6 +569,322 @@ out:
return error;
}
@@ -53987,34 +53814,41 @@ index 4c94a79..2610454 100644
+ unsigned long pax_flags_hardmode = 0UL, pax_flags_softmode = 0UL;
+
+ xattr_size = pax_getxattr(file->f_path.dentry, xattr_value, sizeof xattr_value);
-+ if (xattr_size <= 0 || xattr_size > sizeof xattr_value)
++ switch (xattr_size) {
++ default:
+ return ~0UL;
+
-+ for (i = 0; i < xattr_size; i++)
-+ switch (xattr_value[i]) {
-+ default:
-+ return ~0UL;
-+
-+#define parse_flag(option1, option2, flag) \
-+ case option1: \
-+ if (pax_flags_hardmode & MF_PAX_##flag) \
-+ return ~0UL; \
-+ pax_flags_hardmode |= MF_PAX_##flag; \
-+ break; \
-+ case option2: \
-+ if (pax_flags_softmode & MF_PAX_##flag) \
-+ return ~0UL; \
-+ pax_flags_softmode |= MF_PAX_##flag; \
-+ break;
++ case -ENODATA:
++ break;
+
-+ parse_flag('p', 'P', PAGEEXEC);
-+ parse_flag('e', 'E', EMUTRAMP);
-+ parse_flag('m', 'M', MPROTECT);
-+ parse_flag('r', 'R', RANDMMAP);
-+ parse_flag('s', 'S', SEGMEXEC);
++ case 0 ... sizeof xattr_value:
++ for (i = 0; i < xattr_size; i++)
++ switch (xattr_value[i]) {
++ default:
++ return ~0UL;
++
++#define parse_flag(option1, option2, flag) \
++ case option1: \
++ if (pax_flags_hardmode & MF_PAX_##flag) \
++ return ~0UL; \
++ pax_flags_hardmode |= MF_PAX_##flag; \
++ break; \
++ case option2: \
++ if (pax_flags_softmode & MF_PAX_##flag) \
++ return ~0UL; \
++ pax_flags_softmode |= MF_PAX_##flag; \
++ break;
++
++ parse_flag('p', 'P', PAGEEXEC);
++ parse_flag('e', 'E', EMUTRAMP);
++ parse_flag('m', 'M', MPROTECT);
++ parse_flag('r', 'R', RANDMMAP);
++ parse_flag('s', 'S', SEGMEXEC);
+
+#undef parse_flag
-+ }
++ }
++ break;
++ }
+
+ if (pax_flags_hardmode & pax_flags_softmode)
+ return ~0UL;
@@ -54069,7 +53903,7 @@ index 4c94a79..2610454 100644
/*
* These are the functions used to load ELF style executables and shared
* libraries. There is no binary dependent code anywhere else.
-@@ -554,6 +894,11 @@ static unsigned long randomize_stack_top(unsigned long stack_top)
+@@ -554,6 +901,11 @@ static unsigned long randomize_stack_top(unsigned long stack_top)
{
unsigned int random_variable = 0;
@@ -54081,7 +53915,7 @@ index 4c94a79..2610454 100644
if ((current->flags & PF_RANDOMIZE) &&
!(current->personality & ADDR_NO_RANDOMIZE)) {
random_variable = get_random_int() & STACK_RND_MASK;
-@@ -572,7 +917,7 @@ static int load_elf_binary(struct linux_binprm *bprm)
+@@ -572,7 +924,7 @@ static int load_elf_binary(struct linux_binprm *bprm)
unsigned long load_addr = 0, load_bias = 0;
int load_addr_set = 0;
char * elf_interpreter = NULL;
@@ -54090,7 +53924,7 @@ index 4c94a79..2610454 100644
struct elf_phdr *elf_ppnt, *elf_phdata;
unsigned long elf_bss, elf_brk;
int retval, i;
-@@ -582,12 +927,12 @@ static int load_elf_binary(struct linux_binprm *bprm)
+@@ -582,12 +934,12 @@ static int load_elf_binary(struct linux_binprm *bprm)
unsigned long start_code, end_code, start_data, end_data;
unsigned long reloc_func_desc __maybe_unused = 0;
int executable_stack = EXSTACK_DEFAULT;
@@ -54104,7 +53938,7 @@ index 4c94a79..2610454 100644
loc = kmalloc(sizeof(*loc), GFP_KERNEL);
if (!loc) {
-@@ -723,11 +1068,82 @@ static int load_elf_binary(struct linux_binprm *bprm)
+@@ -723,11 +1075,82 @@ static int load_elf_binary(struct linux_binprm *bprm)
goto out_free_dentry;
/* OK, This is the point of no return */
@@ -54188,7 +54022,7 @@ index 4c94a79..2610454 100644
if (elf_read_implies_exec(loc->elf_ex, executable_stack))
current->personality |= READ_IMPLIES_EXEC;
-@@ -817,6 +1233,20 @@ static int load_elf_binary(struct linux_binprm *bprm)
+@@ -817,6 +1240,20 @@ static int load_elf_binary(struct linux_binprm *bprm)
#else
load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr);
#endif
@@ -54209,7 +54043,7 @@ index 4c94a79..2610454 100644
}
error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt,
-@@ -849,9 +1279,9 @@ static int load_elf_binary(struct linux_binprm *bprm)
+@@ -849,9 +1286,9 @@ static int load_elf_binary(struct linux_binprm *bprm)
* allowed task size. Note that p_filesz must always be
* <= p_memsz so it is only necessary to check p_memsz.
*/
@@ -54222,7 +54056,7 @@ index 4c94a79..2610454 100644
/* set_brk can never work. Avoid overflows. */
send_sig(SIGKILL, current, 0);
retval = -EINVAL;
-@@ -890,17 +1320,45 @@ static int load_elf_binary(struct linux_binprm *bprm)
+@@ -890,17 +1327,45 @@ static int load_elf_binary(struct linux_binprm *bprm)
goto out_free_dentry;
}
if (likely(elf_bss != elf_brk) && unlikely(padzero(elf_bss))) {
@@ -54274,7 +54108,7 @@ index 4c94a79..2610454 100644
load_bias);
if (!IS_ERR((void *)elf_entry)) {
/*
-@@ -1122,7 +1580,7 @@ static bool always_dump_vma(struct vm_area_struct *vma)
+@@ -1122,7 +1587,7 @@ static bool always_dump_vma(struct vm_area_struct *vma)
* Decide what to dump of a segment, part, all or none.
*/
static unsigned long vma_dump_size(struct vm_area_struct *vma,
@@ -54283,7 +54117,7 @@ index 4c94a79..2610454 100644
{
#define FILTER(type) (mm_flags & (1UL << MMF_DUMP_##type))
-@@ -1160,7 +1618,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma,
+@@ -1160,7 +1625,7 @@ static unsigned long vma_dump_size(struct vm_area_struct *vma,
if (vma->vm_file == NULL)
return 0;
@@ -54292,7 +54126,7 @@ index 4c94a79..2610454 100644
goto whole;
/*
-@@ -1385,9 +1843,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm)
+@@ -1385,9 +1850,9 @@ static void fill_auxv_note(struct memelfnote *note, struct mm_struct *mm)
{
elf_addr_t *auxv = (elf_addr_t *) mm->saved_auxv;
int i = 0;
@@ -54304,7 +54138,7 @@ index 4c94a79..2610454 100644
fill_note(note, "CORE", NT_AUXV, i * sizeof(elf_addr_t), auxv);
}
-@@ -1396,7 +1854,7 @@ static void fill_siginfo_note(struct memelfnote *note, user_siginfo_t *csigdata,
+@@ -1396,7 +1861,7 @@ static void fill_siginfo_note(struct memelfnote *note, user_siginfo_t *csigdata,
{
mm_segment_t old_fs = get_fs();
set_fs(KERNEL_DS);
@@ -54313,7 +54147,7 @@ index 4c94a79..2610454 100644
set_fs(old_fs);
fill_note(note, "CORE", NT_SIGINFO, sizeof(*csigdata), csigdata);
}
-@@ -2023,14 +2481,14 @@ static void fill_extnum_info(struct elfhdr *elf, struct elf_shdr *shdr4extnum,
+@@ -2023,14 +2488,14 @@ static void fill_extnum_info(struct elfhdr *elf, struct elf_shdr *shdr4extnum,
}
static size_t elf_core_vma_data_size(struct vm_area_struct *gate_vma,
@@ -54330,7 +54164,7 @@ index 4c94a79..2610454 100644
return size;
}
-@@ -2123,7 +2581,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2123,7 +2588,7 @@ static int elf_core_dump(struct coredump_params *cprm)
dataoff = offset = roundup(offset, ELF_EXEC_PAGESIZE);
@@ -54339,7 +54173,7 @@ index 4c94a79..2610454 100644
offset += elf_core_extra_data_size();
e_shoff = offset;
-@@ -2137,10 +2595,12 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2137,10 +2602,12 @@ static int elf_core_dump(struct coredump_params *cprm)
offset = dataoff;
size += sizeof(*elf);
@@ -54352,7 +54186,7 @@ index 4c94a79..2610454 100644
if (size > cprm->limit
|| !dump_write(cprm->file, phdr4note, sizeof(*phdr4note)))
goto end_coredump;
-@@ -2154,7 +2614,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2154,7 +2621,7 @@ static int elf_core_dump(struct coredump_params *cprm)
phdr.p_offset = offset;
phdr.p_vaddr = vma->vm_start;
phdr.p_paddr = 0;
@@ -54361,7 +54195,7 @@ index 4c94a79..2610454 100644
phdr.p_memsz = vma->vm_end - vma->vm_start;
offset += phdr.p_filesz;
phdr.p_flags = vma->vm_flags & VM_READ ? PF_R : 0;
-@@ -2165,6 +2625,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2165,6 +2632,7 @@ static int elf_core_dump(struct coredump_params *cprm)
phdr.p_align = ELF_EXEC_PAGESIZE;
size += sizeof(phdr);
@@ -54369,7 +54203,7 @@ index 4c94a79..2610454 100644
if (size > cprm->limit
|| !dump_write(cprm->file, &phdr, sizeof(phdr)))
goto end_coredump;
-@@ -2189,7 +2650,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2189,7 +2657,7 @@ static int elf_core_dump(struct coredump_params *cprm)
unsigned long addr;
unsigned long end;
@@ -54378,7 +54212,7 @@ index 4c94a79..2610454 100644
for (addr = vma->vm_start; addr < end; addr += PAGE_SIZE) {
struct page *page;
-@@ -2198,6 +2659,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2198,6 +2666,7 @@ static int elf_core_dump(struct coredump_params *cprm)
page = get_dump_page(addr);
if (page) {
void *kaddr = kmap(page);
@@ -54386,7 +54220,7 @@ index 4c94a79..2610454 100644
stop = ((size += PAGE_SIZE) > cprm->limit) ||
!dump_write(cprm->file, kaddr,
PAGE_SIZE);
-@@ -2215,6 +2677,7 @@ static int elf_core_dump(struct coredump_params *cprm)
+@@ -2215,6 +2684,7 @@ static int elf_core_dump(struct coredump_params *cprm)
if (e_phnum == PN_XNUM) {
size += sizeof(*shdr4extnum);
@@ -54394,7 +54228,7 @@ index 4c94a79..2610454 100644
if (size > cprm->limit
|| !dump_write(cprm->file, shdr4extnum,
sizeof(*shdr4extnum)))
-@@ -2235,6 +2698,167 @@ out:
+@@ -2235,6 +2705,167 @@ out:
#endif /* CONFIG_ELF_CORE */
@@ -54643,7 +54477,7 @@ index 1e86823..8e34695 100644
else if (whole->bd_holder != NULL)
return false; /* is a partition of a held device */
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
-index 61b5bcd..7eeede8 100644
+index b544a44..f3fb987 100644
--- a/fs/btrfs/ctree.c
+++ b/fs/btrfs/ctree.c
@@ -1028,9 +1028,12 @@ static noinline int __btrfs_cow_block(struct btrfs_trans_handle *trans,
@@ -54716,10 +54550,10 @@ index a4b38f9..f86a509 100644
spin_lock_init(&delayed_root->lock);
init_waitqueue_head(&delayed_root->wait);
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
-index 9d46f60..a8f09eb 100644
+index 8747feb..ad1655c 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
-@@ -3464,9 +3464,12 @@ static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
+@@ -3465,9 +3465,12 @@ static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
for (i = 0; i < num_types; i++) {
struct btrfs_space_info *tmp;
@@ -54732,7 +54566,7 @@ index 9d46f60..a8f09eb 100644
info = NULL;
rcu_read_lock();
list_for_each_entry_rcu(tmp, &root->fs_info->space_info,
-@@ -3488,10 +3491,7 @@ static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
+@@ -3489,10 +3492,7 @@ static long btrfs_ioctl_space_info(struct btrfs_root *root, void __user *arg)
memcpy(dest, &space, sizeof(space));
dest++;
space_args.total_spaces++;
@@ -54756,19 +54590,6 @@ index e913328..a34fb36 100644
/* Wake up anybody who may be waiting on this transaction */
wake_up(&root->fs_info->transaction_wait);
wake_up(&root->fs_info->transaction_blocked_wait);
-diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
-index 79f057c..e14e1f7 100644
---- a/fs/btrfs/tree-log.c
-+++ b/fs/btrfs/tree-log.c
-@@ -3375,7 +3375,7 @@ static int log_one_extent(struct btrfs_trans_handle *trans,
- btrfs_set_token_file_extent_type(leaf, fi,
- BTRFS_FILE_EXTENT_REG,
- &token);
-- if (em->block_start == 0)
-+ if (em->block_start == EXTENT_MAP_HOLE)
- skip_csum = true;
- }
-
diff --git a/fs/buffer.c b/fs/buffer.c
index 6024877..7bd000a 100644
--- a/fs/buffer.c
@@ -56992,7 +56813,7 @@ index 999ff5c..41f4109 100644
sizeof(struct file_handle) + handle_bytes))
retval = -EFAULT;
diff --git a/fs/file.c b/fs/file.c
-index 4a78f98..9447397 100644
+index 4a78f98..f9a6d25 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -16,6 +16,7 @@
@@ -57003,6 +56824,24 @@ index 4a78f98..9447397 100644
#include <linux/fdtable.h>
#include <linux/bitops.h>
#include <linux/interrupt.h>
+@@ -141,7 +142,7 @@ out:
+ * Return <0 error code on error; 1 on successful completion.
+ * The files->file_lock should be held on entry, and will be held on exit.
+ */
+-static int expand_fdtable(struct files_struct *files, int nr)
++static int expand_fdtable(struct files_struct *files, unsigned int nr)
+ __releases(files->file_lock)
+ __acquires(files->file_lock)
+ {
+@@ -186,7 +187,7 @@ static int expand_fdtable(struct files_struct *files, int nr)
+ * expanded and execution may have blocked.
+ * The files->file_lock should be held on entry, and will be held on exit.
+ */
+-static int expand_files(struct files_struct *files, int nr)
++static int expand_files(struct files_struct *files, unsigned int nr)
+ {
+ struct fdtable *fdt;
+
@@ -828,6 +829,7 @@ int replace_fd(unsigned fd, struct file *file, unsigned flags)
if (!file)
return __close_fd(files, fd);
@@ -59543,10 +59382,10 @@ index ecc735e..79b2d31 100644
};
diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c
-index 9186c7c..3fdde3e 100644
+index b6af150..f6ec5e3 100644
--- a/fs/nfsd/nfscache.c
+++ b/fs/nfsd/nfscache.c
-@@ -540,14 +540,17 @@ nfsd_cache_update(struct svc_rqst *rqstp, int cachetype, __be32 *statp)
+@@ -547,14 +547,17 @@ nfsd_cache_update(struct svc_rqst *rqstp, int cachetype, __be32 *statp)
{
struct svc_cacherep *rp = rqstp->rq_cacherep;
struct kvec *resv = &rqstp->rq_res.head[0], *cachv;
@@ -62018,7 +61857,7 @@ index 3b7ee65..87fc2e4 100644
pipe_unlock(ipipe);
diff --git a/fs/stat.c b/fs/stat.c
-index d0ea7ef..f463f9d 100644
+index ae0c3ce..9ee641c 100644
--- a/fs/stat.c
+++ b/fs/stat.c
@@ -28,8 +28,13 @@ void generic_fillattr(struct inode *inode, struct kstat *stat)
@@ -62037,9 +61876,11 @@ index d0ea7ef..f463f9d 100644
stat->ctime = inode->i_ctime;
stat->blksize = (1 << inode->i_blkbits);
stat->blocks = inode->i_blocks;
-@@ -46,8 +51,14 @@ int vfs_getattr(struct path *path, struct kstat *stat)
- if (retval)
- return retval;
+@@ -52,9 +57,16 @@ EXPORT_SYMBOL(generic_fillattr);
+ int vfs_getattr_nosec(struct path *path, struct kstat *stat)
+ {
+ struct inode *inode = path->dentry->d_inode;
++ int retval;
- if (inode->i_op->getattr)
- return inode->i_op->getattr(path->mnt, path->dentry, stat);
@@ -62394,7 +62235,7 @@ index 8f84153..7ce60d0 100644
return 0;
sfep = xfs_dir3_sf_nextentry(mp, sfp, sfep);
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c
-index 2e1e6c3..689f742 100644
+index 8c8ef24..689f742 100644
--- a/fs/xfs/xfs_ioctl.c
+++ b/fs/xfs/xfs_ioctl.c
@@ -127,7 +127,7 @@ xfs_find_handle(
@@ -62406,30 +62247,6 @@ index 2e1e6c3..689f742 100644
copy_to_user(hreq->ohandlen, &hsize, sizeof(__s32)))
goto out_put;
-@@ -443,7 +443,8 @@ xfs_attrlist_by_handle(
- return -XFS_ERROR(EPERM);
- if (copy_from_user(&al_hreq, arg, sizeof(xfs_fsop_attrlist_handlereq_t)))
- return -XFS_ERROR(EFAULT);
-- if (al_hreq.buflen > XATTR_LIST_MAX)
-+ if (al_hreq.buflen < sizeof(struct attrlist) ||
-+ al_hreq.buflen > XATTR_LIST_MAX)
- return -XFS_ERROR(EINVAL);
-
- /*
-diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c
-index f671f7e..53365c6 100644
---- a/fs/xfs/xfs_ioctl32.c
-+++ b/fs/xfs/xfs_ioctl32.c
-@@ -357,7 +357,8 @@ xfs_compat_attrlist_by_handle(
- if (copy_from_user(&al_hreq, arg,
- sizeof(compat_xfs_fsop_attrlist_handlereq_t)))
- return -XFS_ERROR(EFAULT);
-- if (al_hreq.buflen > XATTR_LIST_MAX)
-+ if (al_hreq.buflen < sizeof(struct attrlist) ||
-+ al_hreq.buflen > XATTR_LIST_MAX)
- return -XFS_ERROR(EINVAL);
-
- /*
diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index 2b8952d..a60c6be 100644
--- a/fs/xfs/xfs_iops.c
@@ -73248,7 +73065,7 @@ index 77ff547..181834f 100644
#define pud_none(pud) 0
#define pud_bad(pud) 0
diff --git a/include/asm-generic/atomic-long.h b/include/asm-generic/atomic-long.h
-index b7babf0..04ad282 100644
+index b7babf0..97f4c4f 100644
--- a/include/asm-generic/atomic-long.h
+++ b/include/asm-generic/atomic-long.h
@@ -22,6 +22,12 @@
@@ -73360,7 +73177,15 @@ index b7babf0..04ad282 100644
static inline int atomic_long_sub_and_test(long i, atomic_long_t *l)
{
atomic64_t *v = (atomic64_t *)l;
-@@ -101,6 +161,15 @@ static inline long atomic_long_add_return(long i, atomic_long_t *l)
+@@ -94,13 +154,22 @@ static inline int atomic_long_add_negative(long i, atomic_long_t *l)
+ return atomic64_add_negative(i, v);
+ }
+
+-static inline long atomic_long_add_return(long i, atomic_long_t *l)
++static inline long __intentional_overflow(-1) atomic_long_add_return(long i, atomic_long_t *l)
+ {
+ atomic64_t *v = (atomic64_t *)l;
+
return (long)atomic64_add_return(i, v);
}
@@ -74821,7 +74646,7 @@ index 8293262..2b3b8bd 100644
extern bool frontswap_enabled;
extern struct frontswap_ops *
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index fefa7b0..5e04a8b 100644
+index 164d2a9..0ffa41d0 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1552,7 +1552,8 @@ struct file_operations {
@@ -74834,7 +74659,7 @@ index fefa7b0..5e04a8b 100644
struct inode_operations {
struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int);
-@@ -2746,4 +2747,14 @@ static inline bool dir_relax(struct inode *inode)
+@@ -2747,4 +2748,14 @@ static inline bool dir_relax(struct inode *inode)
return !IS_DEADDIR(inode);
}
@@ -79156,7 +78981,7 @@ index 99c1b4d..562e6f3 100644
static inline void put_unaligned_le16(u16 val, void *p)
diff --git a/include/linux/usb.h b/include/linux/usb.h
-index 39cfa0a..d45fa38 100644
+index 6b02370..2355ffa 100644
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
@@ -563,7 +563,7 @@ struct usb_device {
@@ -79168,7 +78993,7 @@ index 39cfa0a..d45fa38 100644
unsigned long active_duration;
-@@ -1637,7 +1637,7 @@ void usb_buffer_unmap_sg(const struct usb_device *dev, int is_in,
+@@ -1639,7 +1639,7 @@ void usb_buffer_unmap_sg(const struct usb_device *dev, int is_in,
extern int usb_control_msg(struct usb_device *dev, unsigned int pipe,
__u8 request, __u8 requesttype, __u16 value, __u16 index,
@@ -82565,7 +82390,7 @@ index 086fe73..72c1122 100644
else
new_fs = fs;
diff --git a/kernel/futex.c b/kernel/futex.c
-index c3a1a55..1b8cfce 100644
+index 221a58f..1b8cfce 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -54,6 +54,7 @@
@@ -82588,15 +82413,6 @@ index c3a1a55..1b8cfce 100644
/*
* The futex address must be "naturally" aligned.
*/
-@@ -288,7 +294,7 @@ again:
- put_page(page);
- /* serialize against __split_huge_page_splitting() */
- local_irq_disable();
-- if (likely(__get_user_pages_fast(address, 1, 1, &page) == 1)) {
-+ if (likely(__get_user_pages_fast(address, 1, !ro, &page) == 1)) {
- page_head = compound_head(page);
- /*
- * page_head is valid pointer but we must pin
@@ -441,7 +447,7 @@ static int cmpxchg_futex_value_locked(u32 *curval, u32 __user *uaddr,
static int get_futex_value_locked(u32 *dest, u32 __user *from)
@@ -82863,10 +82679,10 @@ index e30ac0f..3528cac 100644
/*
diff --git a/kernel/kexec.c b/kernel/kexec.c
-index 2a74f30..d139351 100644
+index ecd783d..9aa270c 100644
--- a/kernel/kexec.c
+++ b/kernel/kexec.c
-@@ -1041,7 +1041,8 @@ asmlinkage long compat_sys_kexec_load(unsigned long entry,
+@@ -1044,7 +1044,8 @@ asmlinkage long compat_sys_kexec_load(unsigned long entry,
unsigned long flags)
{
struct compat_kexec_segment in;
@@ -85668,7 +85484,7 @@ index 5ac63c9..d912786 100644
#else
static void register_sched_domain_sysctl(void)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 7c70201..23f52b6 100644
+index 513fc2f..906a851 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -869,7 +869,7 @@ void task_numa_fault(int node, int pages, bool migrated)
@@ -85680,7 +85496,7 @@ index 7c70201..23f52b6 100644
p->mm->numa_scan_offset = 0;
}
-@@ -5838,7 +5838,7 @@ static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { }
+@@ -5840,7 +5840,7 @@ static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { }
* run_rebalance_domains is triggered when needed from the scheduler tick.
* Also triggered for nohz idle balancing (with nohz_balancing_kick set).
*/
@@ -95083,7 +94899,7 @@ index 4b85e6f..22f9ac9 100644
syn_set ? 0 : icsk->icsk_user_timeout, syn_set)) {
/* Has it gone just too far? */
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
-index f60b1ee..40b401c 100644
+index 5e2c2f1..6473c22 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -87,6 +87,7 @@
@@ -95134,7 +94950,7 @@ index f60b1ee..40b401c 100644
daddr = inet->inet_daddr;
dport = inet->inet_dport;
/* Open fast path for connected socket.
-@@ -1144,7 +1161,7 @@ static unsigned int first_packet_length(struct sock *sk)
+@@ -1141,7 +1158,7 @@ static unsigned int first_packet_length(struct sock *sk)
IS_UDPLITE(sk));
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
IS_UDPLITE(sk));
@@ -95143,7 +94959,7 @@ index f60b1ee..40b401c 100644
__skb_unlink(skb, rcvq);
__skb_queue_tail(&list_kill, skb);
}
-@@ -1224,6 +1241,10 @@ try_again:
+@@ -1221,6 +1238,10 @@ try_again:
if (!skb)
goto out;
@@ -95154,7 +94970,7 @@ index f60b1ee..40b401c 100644
ulen = skb->len - sizeof(struct udphdr);
copied = len;
if (copied > ulen)
-@@ -1257,7 +1278,7 @@ try_again:
+@@ -1254,7 +1275,7 @@ try_again:
if (unlikely(err)) {
trace_kfree_skb(skb, udp_recvmsg);
if (!peeked) {
@@ -95163,7 +94979,7 @@ index f60b1ee..40b401c 100644
UDP_INC_STATS_USER(sock_net(sk),
UDP_MIB_INERRORS, is_udplite);
}
-@@ -1545,7 +1566,7 @@ csum_error:
+@@ -1542,7 +1563,7 @@ csum_error:
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_CSUMERRORS, is_udplite);
drop:
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS, is_udplite);
@@ -95172,7 +94988,7 @@ index f60b1ee..40b401c 100644
kfree_skb(skb);
return -1;
}
-@@ -1564,7 +1585,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
+@@ -1561,7 +1582,7 @@ static void flush_stack(struct sock **stack, unsigned int count,
skb1 = (i == final) ? skb : skb_clone(skb, GFP_ATOMIC);
if (!skb1) {
@@ -95181,7 +94997,7 @@ index f60b1ee..40b401c 100644
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_RCVBUFERRORS,
IS_UDPLITE(sk));
UDP_INC_STATS_BH(sock_net(sk), UDP_MIB_INERRORS,
-@@ -1736,6 +1757,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
+@@ -1733,6 +1754,9 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
goto csum_error;
UDP_INC_STATS_BH(net, UDP_MIB_NOPORTS, proto == IPPROTO_UDPLITE);
@@ -95191,7 +95007,7 @@ index f60b1ee..40b401c 100644
icmp_send(skb, ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0);
/*
-@@ -2168,7 +2192,7 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
+@@ -2165,7 +2189,7 @@ static void udp4_format_sock(struct sock *sp, struct seq_file *f,
from_kuid_munged(seq_user_ns(f), sock_i_uid(sp)),
0, sock_i_ino(sp),
atomic_read(&sp->sk_refcnt), sp,
@@ -96052,7 +95868,7 @@ index 545f047..9757a9d 100644
return res;
}
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index 629dee7..4bdd2c8 100644
+index 9903ee5..18978be 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -826,7 +826,7 @@ static int ieee80211_set_monitor_channel(struct wiphy *wiphy,
@@ -96064,7 +95880,7 @@ index 629dee7..4bdd2c8 100644
local->_oper_chandef = *chandef;
ieee80211_hw_config(local, 0);
}
-@@ -3125,7 +3125,7 @@ static void ieee80211_mgmt_frame_register(struct wiphy *wiphy,
+@@ -3124,7 +3124,7 @@ static void ieee80211_mgmt_frame_register(struct wiphy *wiphy,
else
local->probe_req_reg--;
@@ -96073,7 +95889,7 @@ index 629dee7..4bdd2c8 100644
break;
ieee80211_queue_work(&local->hw, &local->reconfig_filter);
-@@ -3588,8 +3588,8 @@ static int ieee80211_cfg_get_channel(struct wiphy *wiphy,
+@@ -3587,8 +3587,8 @@ static int ieee80211_cfg_get_channel(struct wiphy *wiphy,
if (chanctx_conf) {
*chandef = chanctx_conf->def;
ret = 0;
@@ -96182,7 +95998,7 @@ index fcecd63..a404454 100644
}
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
-index 21d5d44..4fee18a 100644
+index e765f77..dfd72e7 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -172,7 +172,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
@@ -100381,10 +100197,10 @@ index fc3e662..7844c60 100644
lock = &avc_cache.slots_lock[hvalue];
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
-index 5b52310..da3bf8e 100644
+index d9a78fd..5038314 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
-@@ -5603,7 +5603,7 @@ static int selinux_key_getsecurity(struct key *key, char **_buffer)
+@@ -5662,7 +5662,7 @@ static int selinux_key_getsecurity(struct key *key, char **_buffer)
#endif
@@ -100393,7 +100209,7 @@ index 5b52310..da3bf8e 100644
.name = "selinux",
.ptrace_access_check = selinux_ptrace_access_check,
-@@ -5955,6 +5955,9 @@ static void selinux_nf_ip_exit(void)
+@@ -6014,6 +6014,9 @@ static void selinux_nf_ip_exit(void)
#ifdef CONFIG_SECURITY_SELINUX_DISABLE
static int selinux_disabled;
@@ -100403,7 +100219,7 @@ index 5b52310..da3bf8e 100644
int selinux_disable(void)
{
if (ss_initialized) {
-@@ -5972,7 +5975,9 @@ int selinux_disable(void)
+@@ -6031,7 +6034,9 @@ int selinux_disable(void)
selinux_disabled = 1;
selinux_enabled = 0;
@@ -103154,10 +102970,10 @@ index 0000000..679b9ef
+}
diff --git a/tools/gcc/size_overflow_hash.data b/tools/gcc/size_overflow_hash.data
new file mode 100644
-index 0000000..7dad2cd
+index 0000000..a0c9844
--- /dev/null
+++ b/tools/gcc/size_overflow_hash.data
-@@ -0,0 +1,7690 @@
+@@ -0,0 +1,7723 @@
+intel_fake_agp_alloc_by_type_1 intel_fake_agp_alloc_by_type 1 1 NULL
+ocfs2_get_refcount_tree_3 ocfs2_get_refcount_tree 0 3 NULL
+batadv_orig_node_del_if_4 batadv_orig_node_del_if 2 4 NULL
@@ -103172,8 +102988,8 @@ index 0000000..7dad2cd
+snd_korg1212_copy_to_92 snd_korg1212_copy_to 6 92 NULL
+load_msg_95 load_msg 2 95 NULL
+device_flush_iotlb_115 device_flush_iotlb 2-3 115 NULL
-+write_all_supers_117 write_all_supers 0 117 NULL nohasharray
-+ipath_verbs_send_117 ipath_verbs_send 5-3 117 &write_all_supers_117
++ipath_verbs_send_117 ipath_verbs_send 5-3 117 NULL nohasharray
++write_all_supers_117 write_all_supers 0 117 &ipath_verbs_send_117
+init_q_132 init_q 4 132 NULL
+ocfs2_local_alloc_slide_window_134 ocfs2_local_alloc_slide_window 0 134 NULL
+memstick_alloc_host_142 memstick_alloc_host 1 142 NULL
@@ -103312,6 +103128,7 @@ index 0000000..7dad2cd
+file_read_actor_1401 file_read_actor 4 1401 NULL
+vb2_vmalloc_alloc_1402 vb2_vmalloc_alloc 2 1402 NULL
+cfs_trace_copyout_string_1416 cfs_trace_copyout_string 2 1416 NULL
++pq_init_1423 pq_init 1 1423 NULL
+init_rs_internal_1436 init_rs_internal 1 1436 NULL
+vb2_dc_get_user_pages_1442 vb2_dc_get_user_pages 1-3 1442 NULL
+stack_max_size_read_1445 stack_max_size_read 3 1445 NULL
@@ -103473,7 +103290,7 @@ index 0000000..7dad2cd
+__swab64p_2875 __swab64p 0 2875 NULL
+nla_padlen_2883 nla_padlen 1 2883 NULL
+cmm_write_2896 cmm_write 3 2896 NULL
-+alloc_page_cgroup_2919 alloc_page_cgroup 1 2919 NULL
++alloc_page_cgroup_2919 alloc_page_cgroup 1-2 2919 NULL
+osc_import_seq_write_2923 osc_import_seq_write 3 2923 NULL
+xfs_trans_get_buf_map_2927 xfs_trans_get_buf_map 4 2927 NULL
+nes_read_indexed_2946 nes_read_indexed 0 2946 NULL
@@ -103581,7 +103398,7 @@ index 0000000..7dad2cd
+ath6kl_disconnect_timeout_read_3650 ath6kl_disconnect_timeout_read 3 3650 NULL
+i915_compat_ioctl_3656 i915_compat_ioctl 2 3656 NULL
+replace_pin_at_irq_node_3687 replace_pin_at_irq_node 2 3687 NULL
-+ntfs_attr_make_non_resident_3694 ntfs_attr_make_non_resident 0 3694 NULL
++ntfs_attr_make_non_resident_3694 ntfs_attr_make_non_resident 0-2 3694 NULL
+snd_m3_assp_read_3703 snd_m3_assp_read 0 3703 NULL nohasharray
+create_irq_3703 create_irq 0 3703 &snd_m3_assp_read_3703
+videobuf_pages_to_sg_3708 videobuf_pages_to_sg 2 3708 NULL
@@ -103858,6 +103675,7 @@ index 0000000..7dad2cd
+hfa384x_inw_6329 hfa384x_inw 0 6329 &SyS_mincore_6329
+fuse_get_req_for_background_6337 fuse_get_req_for_background 2 6337 NULL
+ucs2_strnlen_6342 ucs2_strnlen 0 6342 NULL
++utc2ntfs_6347 utc2ntfs 0 6347 NULL
+regcache_sync_block_raw_6350 regcache_sync_block_raw 5-4 6350 NULL
+mei_dbgfs_read_devstate_6352 mei_dbgfs_read_devstate 3 6352 NULL
+_proc_do_string_6376 _proc_do_string 2 6376 NULL
@@ -103875,6 +103693,7 @@ index 0000000..7dad2cd
+ieee80211_if_fmt_dot11MeshMaxRetries_6476 ieee80211_if_fmt_dot11MeshMaxRetries 3 6476 NULL
+qp_memcpy_from_queue_6479 qp_memcpy_from_queue 5-4 6479 NULL
+cipso_v4_map_lvl_hton_6490 cipso_v4_map_lvl_hton 0 6490 NULL
++ntfs_cluster_free_6497 ntfs_cluster_free 0 6497 NULL
+dbg_intr_buf_6501 dbg_intr_buf 2 6501 NULL
+mei_read_6507 mei_read 3 6507 NULL
+__start_delalloc_inodes_6528 __start_delalloc_inodes 0 6528 NULL
@@ -104075,6 +103894,7 @@ index 0000000..7dad2cd
+snd_pcm_update_state_8320 snd_pcm_update_state 0 8320 NULL
+construct_key_and_link_8321 construct_key_and_link 4 8321 NULL
+ipwireless_send_packet_8328 ipwireless_send_packet 4 8328 NULL
++cfs_cpt_spread_node_8338 cfs_cpt_spread_node 0 8338 NULL
+tracing_entries_read_8345 tracing_entries_read 3 8345 NULL
+ieee80211_if_fmt_ht_opmode_8347 ieee80211_if_fmt_ht_opmode 3 8347 NULL
+generic_write_sync_8358 generic_write_sync 0 8358 NULL
@@ -104142,6 +103962,7 @@ index 0000000..7dad2cd
+__bitmap_weight_8796 __bitmap_weight 0-2 8796 NULL
+cpuset_common_file_read_8800 cpuset_common_file_read 5 8800 NULL
+intel_ring_begin_8808 intel_ring_begin 0 8808 NULL
++ntfs_commit_pages_after_write_8809 ntfs_commit_pages_after_write 4-3 8809 NULL
+metronomefb_write_8823 metronomefb_write 3 8823 NULL
+SyS_llistxattr_8824 SyS_llistxattr 3 8824 NULL
+get_queue_depth_8833 get_queue_depth 0 8833 NULL
@@ -104167,8 +103988,8 @@ index 0000000..7dad2cd
+usb_allocate_stream_buffers_8964 usb_allocate_stream_buffers 3 8964 NULL
+qib_qsfp_dump_8966 qib_qsfp_dump 0-3 8966 NULL
+venus_mkdir_8967 venus_mkdir 4 8967 NULL
-+vol_cdev_read_8968 vol_cdev_read 3 8968 NULL nohasharray
-+seq_open_net_8968 seq_open_net 4 8968 &vol_cdev_read_8968
++seq_open_net_8968 seq_open_net 4 8968 NULL nohasharray
++vol_cdev_read_8968 vol_cdev_read 3 8968 &seq_open_net_8968
+bio_integrity_get_tag_8974 bio_integrity_get_tag 3 8974 NULL
+btrfs_alloc_free_block_8986 btrfs_alloc_free_block 3-8 8986 NULL
+jbd2_journal_blocks_per_page_9004 jbd2_journal_blocks_per_page 0 9004 NULL
@@ -104217,6 +104038,7 @@ index 0000000..7dad2cd
+ieee80211_if_fmt_txpower_9334 ieee80211_if_fmt_txpower 3 9334 NULL
+nvme_trans_fmt_get_parm_header_9340 nvme_trans_fmt_get_parm_header 2 9340 NULL
+ocfs2_orphan_for_truncate_9342 ocfs2_orphan_for_truncate 4 9342 NULL
++__ksm_enter_9347 __ksm_enter 0 9347 NULL
+ll_direct_rw_pages_9361 ll_direct_rw_pages 0 9361 NULL
+of_node_to_nid_9367 of_node_to_nid 0 9367 NULL
+sta_beacon_loss_count_read_9370 sta_beacon_loss_count_read 3 9370 NULL
@@ -104242,7 +104064,8 @@ index 0000000..7dad2cd
+read_file_dma_9530 read_file_dma 3 9530 NULL
+ext3_alloc_branch_9534 ext3_alloc_branch 5 9534 NULL
+iwl_dbgfs_bf_params_read_9542 iwl_dbgfs_bf_params_read 3 9542 NULL
-+il_dbgfs_missed_beacon_write_9546 il_dbgfs_missed_beacon_write 3 9546 NULL
++unmerge_ksm_pages_9546 unmerge_ksm_pages 0 9546 NULL nohasharray
++il_dbgfs_missed_beacon_write_9546 il_dbgfs_missed_beacon_write 3 9546 &unmerge_ksm_pages_9546
+compat_SyS_pwritev64_9548 compat_SyS_pwritev64 3 9548 NULL
+readl_9557 readl 0 9557 NULL
+fw_node_create_9559 fw_node_create 2 9559 NULL
@@ -104350,6 +104173,7 @@ index 0000000..7dad2cd
+whci_add_cap_10350 whci_add_cap 0 10350 NULL
+dbAllocAny_10354 dbAllocAny 0 10354 NULL
+ath6kl_listen_int_read_10355 ath6kl_listen_int_read 3 10355 NULL
++__ntfs_cluster_free_10360 __ntfs_cluster_free 0 10360 NULL
+ms_write_multiple_pages_10362 ms_write_multiple_pages 6-5 10362 NULL
+sta_ht_capa_read_10366 sta_ht_capa_read 3 10366 NULL
+ecryptfs_decode_and_decrypt_filename_10379 ecryptfs_decode_and_decrypt_filename 5 10379 NULL
@@ -104581,8 +104405,8 @@ index 0000000..7dad2cd
+shash_compat_setkey_12267 shash_compat_setkey 3 12267 NULL
+add_sctp_bind_addr_12269 add_sctp_bind_addr 3 12269 NULL
+note_last_dentry_12285 note_last_dentry 3 12285 NULL
-+roundup_to_multiple_of_64_12288 roundup_to_multiple_of_64 0-1 12288 NULL nohasharray
-+il_dbgfs_nvm_read_12288 il_dbgfs_nvm_read 3 12288 &roundup_to_multiple_of_64_12288
++il_dbgfs_nvm_read_12288 il_dbgfs_nvm_read 3 12288 NULL nohasharray
++roundup_to_multiple_of_64_12288 roundup_to_multiple_of_64 0-1 12288 &il_dbgfs_nvm_read_12288
+wrap_min_12303 wrap_min 0-1-2 12303 NULL
+bt_sock_recvmsg_12316 bt_sock_recvmsg 4 12316 NULL
+pcbit_writecmd_12332 pcbit_writecmd 2 12332 NULL
@@ -104841,8 +104665,8 @@ index 0000000..7dad2cd
+efx_mdio_check_mmds_14486 efx_mdio_check_mmds 2 14486 NULL nohasharray
+ieee80211_if_read_dot11MeshGateAnnouncementProtocol_14486 ieee80211_if_read_dot11MeshGateAnnouncementProtocol 3 14486 &efx_mdio_check_mmds_14486
+ocfs2_debug_read_14507 ocfs2_debug_read 3 14507 NULL
-+dataflash_read_user_otp_14536 dataflash_read_user_otp 3-2 14536 NULL nohasharray
-+ep0_write_14536 ep0_write 3 14536 &dataflash_read_user_otp_14536
++ep0_write_14536 ep0_write 3 14536 NULL nohasharray
++dataflash_read_user_otp_14536 dataflash_read_user_otp 3-2 14536 &ep0_write_14536
+register_trace_sched_switch_14545 register_trace_sched_switch 0 14545 NULL
+picolcd_debug_eeprom_read_14549 picolcd_debug_eeprom_read 3 14549 NULL
+drm_vmalloc_dma_14550 drm_vmalloc_dma 1 14550 NULL
@@ -104878,8 +104702,8 @@ index 0000000..7dad2cd
+keys_proc_write_14792 keys_proc_write 3 14792 NULL
+ext4_kvmalloc_14796 ext4_kvmalloc 1 14796 NULL
+__kfifo_in_14797 __kfifo_in 3-0 14797 NULL
-+snd_als300_gcr_read_14801 snd_als300_gcr_read 0 14801 NULL nohasharray
-+hpet_readl_14801 hpet_readl 0 14801 &snd_als300_gcr_read_14801
++hpet_readl_14801 hpet_readl 0 14801 NULL nohasharray
++snd_als300_gcr_read_14801 snd_als300_gcr_read 0 14801 &hpet_readl_14801
+changed_cb_14819 changed_cb 0 14819 NULL
+do_tune_cpucache_14828 do_tune_cpucache 2 14828 NULL
+mrp_attr_create_14853 mrp_attr_create 3 14853 NULL
@@ -105022,7 +104846,7 @@ index 0000000..7dad2cd
+ext4_xattr_block_get_16148 ext4_xattr_block_get 0 16148 NULL
+update_block_group_16155 update_block_group 0 16155 NULL
+optimal_reclaimed_pages_16172 optimal_reclaimed_pages 0 16172 NULL
-+mapping_level_16188 mapping_level 2 16188 NULL
++mapping_level_16188 mapping_level 2-0 16188 NULL
+i40e_allocate_virt_mem_d_16191 i40e_allocate_virt_mem_d 3 16191 NULL
+tcp_syn_options_16197 tcp_syn_options 0 16197 NULL
+ath10k_htt_rx_ring_size_16201 ath10k_htt_rx_ring_size 0 16201 NULL
@@ -105062,7 +104886,7 @@ index 0000000..7dad2cd
+ieee80211_if_read_tsf_16420 ieee80211_if_read_tsf 3 16420 NULL
+rxrpc_server_keyring_16431 rxrpc_server_keyring 3 16431 NULL
+__bio_add_page_16435 __bio_add_page 0-4 16435 NULL
-+btrfs_truncate_inode_items_16452 btrfs_truncate_inode_items 0 16452 NULL
++btrfs_truncate_inode_items_16452 btrfs_truncate_inode_items 0-4 16452 NULL
+ocfs2_expand_refcount_tree_16455 ocfs2_expand_refcount_tree 0 16455 NULL
+netlink_change_ngroups_16457 netlink_change_ngroups 2 16457 NULL
+alloc_disk_node_16458 alloc_disk_node 2 16458 NULL
@@ -105269,7 +105093,7 @@ index 0000000..7dad2cd
+__sysfs_add_one_18258 __sysfs_add_one 0 18258 NULL
+qdisc_class_hash_alloc_18262 qdisc_class_hash_alloc 1 18262 NULL
+gfs2_alloc_sort_buffer_18275 gfs2_alloc_sort_buffer 1 18275 NULL
-+alloc_ring_18278 alloc_ring 4-2 18278 NULL
++alloc_ring_18278 alloc_ring 4-2-8 18278 NULL
+find_dirty_idx_leb_18280 find_dirty_idx_leb 0 18280 NULL
+nouveau_subdev_create__18281 nouveau_subdev_create_ 7 18281 NULL nohasharray
+bio_phys_segments_18281 bio_phys_segments 0 18281 &nouveau_subdev_create__18281
@@ -105392,6 +105216,7 @@ index 0000000..7dad2cd
+create_gpadl_header_19064 create_gpadl_header 2 19064 NULL
+ieee80211_key_alloc_19065 ieee80211_key_alloc 3 19065 NULL
+ceph_create_snap_context_19082 ceph_create_snap_context 1 19082 NULL
++kvm_lapic_set_vapic_addr_19083 kvm_lapic_set_vapic_addr 2 19083 NULL
+sta_last_seq_ctrl_read_19106 sta_last_seq_ctrl_read 3 19106 NULL
+cifs_readv_from_socket_19109 cifs_readv_from_socket 3 19109 NULL
+ATOMIC_SUB_RETURN_19115 ATOMIC_SUB_RETURN 2 19115 NULL
@@ -105526,6 +105351,7 @@ index 0000000..7dad2cd
+tm6000_i2c_send_regs_20250 tm6000_i2c_send_regs 5 20250 NULL
+pcpu_alloc_20255 pcpu_alloc 1-2 20255 NULL
+resource_size_20256 resource_size 0 20256 NULL
++uv_blade_to_memory_nid_20259 uv_blade_to_memory_nid 0 20259 NULL
+r10_sync_page_io_20307 r10_sync_page_io 3 20307 NULL
+dm_get_reserved_bio_based_ios_20315 dm_get_reserved_bio_based_ios 0 20315 NULL
+tx_tx_burst_programmed_read_20320 tx_tx_burst_programmed_read 3 20320 NULL
@@ -105570,8 +105396,8 @@ index 0000000..7dad2cd
+cpulist_scnprintf_20648 cpulist_scnprintf 2-0 20648 NULL
+oz_add_farewell_20652 oz_add_farewell 5 20652 NULL
+oz_cdev_read_20659 oz_cdev_read 3 20659 NULL
-+btrfs_qgroup_reserve_20676 btrfs_qgroup_reserve 0 20676 NULL nohasharray
-+snd_hdsp_playback_copy_20676 snd_hdsp_playback_copy 5 20676 &btrfs_qgroup_reserve_20676
++snd_hdsp_playback_copy_20676 snd_hdsp_playback_copy 5 20676 NULL nohasharray
++btrfs_qgroup_reserve_20676 btrfs_qgroup_reserve 0 20676 &snd_hdsp_playback_copy_20676
+get_user_page_nowait_20682 get_user_page_nowait 3 20682 NULL nohasharray
+dvb_dmxdev_buffer_read_20682 dvb_dmxdev_buffer_read 0-4 20682 &get_user_page_nowait_20682
+cpumask_size_20683 cpumask_size 0 20683 NULL
@@ -105643,6 +105469,7 @@ index 0000000..7dad2cd
+alloc_pg_vec_21159 alloc_pg_vec 3 21159 NULL
+btrfs_add_root_ref_21186 btrfs_add_root_ref 0 21186 NULL
+cx18_v4l2_read_21196 cx18_v4l2_read 3 21196 NULL
++get_current_ntfs_time_21198 get_current_ntfs_time 0 21198 NULL
+ipc_rcu_alloc_21208 ipc_rcu_alloc 1 21208 NULL
+scsi_execute_req_flags_21215 scsi_execute_req_flags 5 21215 NULL
+_ocfs2_free_clusters_21220 _ocfs2_free_clusters 4-0 21220 NULL
@@ -105665,6 +105492,7 @@ index 0000000..7dad2cd
+SYSC_rt_sigpending_21379 SYSC_rt_sigpending 2 21379 NULL
+video_ioctl2_21380 video_ioctl2 2 21380 NULL
+diva_get_driver_dbg_mask_21399 diva_get_driver_dbg_mask 0 21399 NULL
++sle64_to_cpu_21400 sle64_to_cpu 0-1 21400 NULL
+snd_m3_inw_21406 snd_m3_inw 0 21406 NULL
+snapshot_read_next_21426 snapshot_read_next 0 21426 NULL
+tcp_bound_to_half_wnd_21429 tcp_bound_to_half_wnd 0-2 21429 NULL
@@ -105756,7 +105584,6 @@ index 0000000..7dad2cd
+mem_write_22232 mem_write 3 22232 NULL
+p9_virtio_zc_request_22240 p9_virtio_zc_request 6-5 22240 NULL
+fsnotify_parent_22243 fsnotify_parent 0 22243 NULL
-+atomic64_xchg_22246 atomic64_xchg 0 22246 NULL
+compat_process_vm_rw_22254 compat_process_vm_rw 3-5 22254 NULL
+ping_common_sendmsg_22261 ping_common_sendmsg 5 22261 NULL
+add_res_tree_22263 add_res_tree 7 22263 NULL
@@ -106236,8 +106063,8 @@ index 0000000..7dad2cd
+read_sb_page_26119 read_sb_page 5 26119 NULL
+__fswab64_26155 __fswab64 0 26155 NULL
+copy_oldmem_page_26164 copy_oldmem_page 3 26164 NULL
-+ath6kl_roam_table_read_26166 ath6kl_roam_table_read 3 26166 NULL nohasharray
-+gfs2_xattr_acl_get_26166 gfs2_xattr_acl_get 0 26166 &ath6kl_roam_table_read_26166
++gfs2_xattr_acl_get_26166 gfs2_xattr_acl_get 0 26166 NULL nohasharray
++ath6kl_roam_table_read_26166 ath6kl_roam_table_read 3 26166 &gfs2_xattr_acl_get_26166
+disk_devt_26180 disk_devt 0 26180 NULL
+cgroup_setxattr_26188 cgroup_setxattr 4 26188 NULL
+ieee80211_if_fmt_dot11MeshTTL_26198 ieee80211_if_fmt_dot11MeshTTL 3 26198 NULL
@@ -106331,6 +106158,7 @@ index 0000000..7dad2cd
+pcf857x_irq_domain_map_26998 pcf857x_irq_domain_map 2 26998 NULL
+i2c_smbus_xfer_27006 i2c_smbus_xfer 0 27006 NULL
+omfs_allocate_range_27034 omfs_allocate_range 3 27034 NULL
++fill_read_buf_27036 fill_read_buf 0 27036 NULL
+ufs_alloc_fragments_27059 ufs_alloc_fragments 3-0-2 27059 NULL
+__videobuf_alloc_vb_27062 __videobuf_alloc_vb 1 27062 NULL
+ext4_convert_unwritten_extents_27064 ext4_convert_unwritten_extents 4-3-0 27064 NULL
@@ -106372,7 +106200,8 @@ index 0000000..7dad2cd
+pcbit_stat_27364 pcbit_stat 2 27364 NULL
+lz4_compress_crypto_27387 lz4_compress_crypto 3 27387 NULL
+seq_read_27411 seq_read 3 27411 NULL
-+ib_dma_map_sg_27413 ib_dma_map_sg 0 27413 NULL
++ib_dma_map_sg_27413 ib_dma_map_sg 0 27413 NULL nohasharray
++zalloc_cpumask_var_node_27413 zalloc_cpumask_var_node 3 27413 &ib_dma_map_sg_27413
+ieee80211_if_read_smps_27416 ieee80211_if_read_smps 3 27416 NULL
+ocfs2_refcount_cal_cow_clusters_27422 ocfs2_refcount_cal_cow_clusters 0-3-4 27422 NULL nohasharray
+evm_inode_init_security_27422 evm_inode_init_security 0 27422 &ocfs2_refcount_cal_cow_clusters_27422
@@ -106563,8 +106392,8 @@ index 0000000..7dad2cd
+xz_dec_init_29029 xz_dec_init 2 29029 NULL
+i915_gem_object_bind_to_vm_29035 i915_gem_object_bind_to_vm 0 29035 NULL
+ieee80211_if_read_ht_opmode_29044 ieee80211_if_read_ht_opmode 3 29044 NULL
-+rxrpc_sendmsg_29049 rxrpc_sendmsg 4 29049 NULL nohasharray
-+ProcessGetHostMibs_29049 ProcessGetHostMibs 0 29049 &rxrpc_sendmsg_29049
++ProcessGetHostMibs_29049 ProcessGetHostMibs 0 29049 NULL nohasharray
++rxrpc_sendmsg_29049 rxrpc_sendmsg 4 29049 &ProcessGetHostMibs_29049
+btrfs_root_bytenr_29058 btrfs_root_bytenr 0 29058 NULL
+iso_packets_buffer_init_29061 iso_packets_buffer_init 3-4 29061 NULL
+roundup_64_29066 roundup_64 2-0-1 29066 NULL
@@ -106957,6 +106786,7 @@ index 0000000..7dad2cd
+__add_missing_keys_32402 __add_missing_keys 0 32402 NULL
+vmci_qp_alloc_32405 vmci_qp_alloc 5-3 32405 NULL
+regmap_irq_map_32429 regmap_irq_map 2 32429 NULL
++break_ksm_32439 break_ksm 0 32439 NULL
+__ext4_handle_dirty_super_32458 __ext4_handle_dirty_super 0 32458 NULL
+snd_pcm_sync_ptr_32461 snd_pcm_sync_ptr 0 32461 NULL
+cache_status_32462 cache_status 5 32462 NULL
@@ -106988,6 +106818,7 @@ index 0000000..7dad2cd
+ib_sg_dma_len_32649 ib_sg_dma_len 0 32649 NULL
+generic_readlink_32654 generic_readlink 3 32654 NULL nohasharray
+ftrace_startup_32654 ftrace_startup 0 32654 &generic_readlink_32654
++get_unaligned_be24_32667 get_unaligned_be24 0 32667 NULL
+move_addr_to_kernel_32673 move_addr_to_kernel 2 32673 NULL
+apei_res_add_32674 apei_res_add 0 32674 NULL
+jfs_readpages_32702 jfs_readpages 4 32702 NULL
@@ -107121,7 +106952,6 @@ index 0000000..7dad2cd
+get_user_pages_33908 get_user_pages 0-3-4 33908 NULL
+ath6kl_roam_mode_write_33912 ath6kl_roam_mode_write 3 33912 NULL
+queue_logical_block_size_33918 queue_logical_block_size 0 33918 NULL
-+atomic64_add_return_33927 atomic64_add_return 0-1 33927 NULL
+sel_read_avc_cache_threshold_33942 sel_read_avc_cache_threshold 3 33942 NULL
+lpfc_idiag_ctlacc_read_33943 lpfc_idiag_ctlacc_read 3 33943 NULL
+read_file_tgt_rx_stats_33944 read_file_tgt_rx_stats 3 33944 NULL nohasharray
@@ -107175,8 +107005,8 @@ index 0000000..7dad2cd
+av7110_vbi_write_34384 av7110_vbi_write 3 34384 NULL
+usbvision_v4l2_read_34386 usbvision_v4l2_read 3 34386 NULL
+read_rbu_image_type_34387 read_rbu_image_type 6 34387 NULL
-+ivtv_read_pos_34400 ivtv_read_pos 3 34400 NULL nohasharray
-+iwl_calib_set_34400 iwl_calib_set 3 34400 &ivtv_read_pos_34400
++iwl_calib_set_34400 iwl_calib_set 3 34400 NULL nohasharray
++ivtv_read_pos_34400 ivtv_read_pos 3 34400 &iwl_calib_set_34400
+wd_exp_mode_write_34407 wd_exp_mode_write 3 34407 NULL
+nl80211_send_disassoc_34424 nl80211_send_disassoc 4 34424 NULL
+security_socket_create_34439 security_socket_create 0 34439 NULL
@@ -107186,13 +107016,13 @@ index 0000000..7dad2cd
+i2o_parm_field_get_34477 i2o_parm_field_get 5 34477 NULL
+ocfs2_block_group_clear_bits_34484 ocfs2_block_group_clear_bits 0 34484 NULL
+security_inode_permission_34488 security_inode_permission 0 34488 NULL
-+__ffs64_34494 __ffs64 1-0 34494 NULL nohasharray
-+SyS_pwritev_34494 SyS_pwritev 3 34494 &__ffs64_34494
++SyS_pwritev_34494 SyS_pwritev 3 34494 NULL nohasharray
++__ffs64_34494 __ffs64 1-0 34494 &SyS_pwritev_34494
+qp_alloc_res_34496 qp_alloc_res 5 34496 NULL
+lu_buf_check_and_alloc_34505 lu_buf_check_and_alloc 2 34505 NULL
+snd_pcm_hw_param_value_34525 snd_pcm_hw_param_value 0 34525 NULL
-+tracing_stats_read_34537 tracing_stats_read 3 34537 NULL nohasharray
-+ext4_fallocate_34537 ext4_fallocate 4-3 34537 &tracing_stats_read_34537
++ext4_fallocate_34537 ext4_fallocate 4-3 34537 NULL nohasharray
++tracing_stats_read_34537 tracing_stats_read 3 34537 &ext4_fallocate_34537
+hugetlbfs_read_actor_34547 hugetlbfs_read_actor 4-5-2-0 34547 NULL
+dbBackSplit_34561 dbBackSplit 0 34561 NULL
+alloc_ieee80211_rsl_34564 alloc_ieee80211_rsl 1 34564 NULL nohasharray
@@ -107205,8 +107035,8 @@ index 0000000..7dad2cd
+cw1200_queue_init_34599 cw1200_queue_init 4 34599 &ceph_msgpool_init_34599
+__add_prelim_ref_34600 __add_prelim_ref 0 34600 NULL
+brcmf_cfg80211_mgmt_tx_34608 brcmf_cfg80211_mgmt_tx 7 34608 NULL
-+mtd_write_34609 mtd_write 0 34609 NULL nohasharray
-+__jffs2_ref_totlen_34609 __jffs2_ref_totlen 0 34609 &mtd_write_34609
++__jffs2_ref_totlen_34609 __jffs2_ref_totlen 0 34609 NULL nohasharray
++mtd_write_34609 mtd_write 0 34609 &__jffs2_ref_totlen_34609
+apei_get_nvs_resources_34616 apei_get_nvs_resources 0 34616 NULL
+__cfg80211_disconnected_34622 __cfg80211_disconnected 3 34622 NULL
+cnic_alloc_dma_34641 cnic_alloc_dma 3 34641 NULL
@@ -107257,6 +107087,7 @@ index 0000000..7dad2cd
+brcmf_sdio_chip_writenvram_35042 brcmf_sdio_chip_writenvram 4 35042 NULL
+pwr_connection_out_of_sync_read_35061 pwr_connection_out_of_sync_read 3 35061 NULL
+ext4_split_unwritten_extents_35063 ext4_split_unwritten_extents 0 35063 NULL
++ntfs_attr_extend_initialized_35084 ntfs_attr_extend_initialized 2 35084 NULL
+store_ifalias_35088 store_ifalias 4 35088 NULL
+__kfifo_uint_must_check_helper_35097 __kfifo_uint_must_check_helper 0-1 35097 NULL
+capi_write_35104 capi_write 3 35104 NULL nohasharray
@@ -107329,6 +107160,7 @@ index 0000000..7dad2cd
+nv50_vm_create_35643 nv50_vm_create 2-3 35643 NULL
+spi_register_board_info_35651 spi_register_board_info 2 35651 NULL
+rdmaltWithLock_35669 rdmaltWithLock 0 35669 NULL
++cpu_to_sle64_35677 cpu_to_sle64 0-1 35677 NULL
+ext3_mark_iloc_dirty_35686 ext3_mark_iloc_dirty 0 35686 NULL
+dm_table_create_35687 dm_table_create 3 35687 NULL
+SYSC_pwritev_35690 SYSC_pwritev 3 35690 NULL
@@ -107652,6 +107484,7 @@ index 0000000..7dad2cd
+_get_val_38115 _get_val 2 38115 NULL
+vmw_kms_present_38130 vmw_kms_present 9 38130 NULL
+__ntfs_copy_from_user_iovec_inatomic_38153 __ntfs_copy_from_user_iovec_inatomic 0-4-3 38153 NULL
++btrfs_extent_same_38163 btrfs_extent_same 3-2 38163 NULL
+kvm_clear_guest_38164 kvm_clear_guest 3-2 38164 NULL
+cirrus_ttm_tt_create_38167 cirrus_ttm_tt_create 2 38167 NULL
+send_rename_38170 send_rename 0 38170 NULL
@@ -107669,11 +107502,11 @@ index 0000000..7dad2cd
+snd_pcm_playback_rewind_38249 snd_pcm_playback_rewind 0-2 38249 NULL
+from_dblock_38256 from_dblock 0-1 38256 NULL
+vmci_qp_broker_set_page_store_38260 vmci_qp_broker_set_page_store 3-2 38260 NULL
-+ieee80211_if_read_auto_open_plinks_38268 ieee80211_if_read_auto_open_plinks 3 38268 NULL nohasharray
-+SYSC_msgrcv_38268 SYSC_msgrcv 3 38268 &ieee80211_if_read_auto_open_plinks_38268 nohasharray
-+mthca_alloc_icm_table_38268 mthca_alloc_icm_table 4-3 38268 &SYSC_msgrcv_38268
-+xfs_bmbt_to_bmdr_38275 xfs_bmbt_to_bmdr 3 38275 NULL nohasharray
-+xfs_bmdr_to_bmbt_38275 xfs_bmdr_to_bmbt 5 38275 &xfs_bmbt_to_bmdr_38275
++SYSC_msgrcv_38268 SYSC_msgrcv 3 38268 NULL nohasharray
++ieee80211_if_read_auto_open_plinks_38268 ieee80211_if_read_auto_open_plinks 3 38268 &SYSC_msgrcv_38268 nohasharray
++mthca_alloc_icm_table_38268 mthca_alloc_icm_table 4-3 38268 &ieee80211_if_read_auto_open_plinks_38268
++xfs_bmdr_to_bmbt_38275 xfs_bmdr_to_bmbt 5 38275 NULL nohasharray
++xfs_bmbt_to_bmdr_38275 xfs_bmbt_to_bmdr 3 38275 &xfs_bmdr_to_bmbt_38275
+ftdi_process_packet_38281 ftdi_process_packet 4 38281 NULL
+gpa_to_gfn_38291 gpa_to_gfn 0-1 38291 NULL
+ucma_query_path_38305 ucma_query_path 3 38305 NULL
@@ -107746,8 +107579,8 @@ index 0000000..7dad2cd
+ext3_trim_all_free_38929 ext3_trim_all_free 4-3-2 38929 NULL
+il_dbgfs_sram_write_38942 il_dbgfs_sram_write 3 38942 NULL
+__ath6kl_wmi_send_mgmt_cmd_38971 __ath6kl_wmi_send_mgmt_cmd 7 38971 NULL
-+usb_maxpacket_38977 usb_maxpacket 0 38977 NULL nohasharray
-+C_SYSC_preadv64_38977 C_SYSC_preadv64 3 38977 &usb_maxpacket_38977
++C_SYSC_preadv64_38977 C_SYSC_preadv64 3 38977 NULL nohasharray
++usb_maxpacket_38977 usb_maxpacket 0 38977 &C_SYSC_preadv64_38977
+OSDSetBlock_38986 OSDSetBlock 2-4 38986 NULL
+lpfc_idiag_extacc_write_38998 lpfc_idiag_extacc_write 3 38998 NULL
+udf_new_block_38999 udf_new_block 4 38999 NULL
@@ -107760,7 +107593,6 @@ index 0000000..7dad2cd
+do_write_kmem_39051 do_write_kmem 1-3-0 39051 NULL
+gen_pool_create_39064 gen_pool_create 2 39064 NULL
+ext4_init_block_bitmap_39071 ext4_init_block_bitmap 3 39071 NULL
-+atomic64_add_negative_39098 atomic64_add_negative 1 39098 NULL
+ReadHFC_39104 ReadHFC 0 39104 NULL
+tomoyo_truncate_39105 tomoyo_truncate 0 39105 NULL
+leb_write_lock_39111 leb_write_lock 0 39111 NULL
@@ -107812,8 +107644,8 @@ index 0000000..7dad2cd
+ext_depth_39607 ext_depth 0 39607 NULL
+nfs_idmap_get_key_39616 nfs_idmap_get_key 2 39616 NULL
+sdio_readb_39618 sdio_readb 0 39618 NULL
-+dm_exception_table_init_39645 dm_exception_table_init 2 39645 NULL nohasharray
-+set_dev_class_39645 set_dev_class 4 39645 &dm_exception_table_init_39645
++set_dev_class_39645 set_dev_class 4 39645 NULL nohasharray
++dm_exception_table_init_39645 dm_exception_table_init 2 39645 &set_dev_class_39645
+snd_rme32_capture_copy_39653 snd_rme32_capture_copy 5 39653 NULL
+tcp_try_rmem_schedule_39657 tcp_try_rmem_schedule 3 39657 NULL
+kvm_read_guest_cached_39666 kvm_read_guest_cached 4 39666 NULL
@@ -108188,7 +108020,7 @@ index 0000000..7dad2cd
+isku_sysfs_read_info_42781 isku_sysfs_read_info 6 42781 &cryptd_hash_setkey_42781
+elfcorehdr_read_notes_42786 elfcorehdr_read_notes 2 42786 NULL
+koneplus_sysfs_read_42792 koneplus_sysfs_read 6 42792 NULL
-+ntfs_attr_extend_allocation_42796 ntfs_attr_extend_allocation 0-2 42796 NULL
++ntfs_attr_extend_allocation_42796 ntfs_attr_extend_allocation 0-2-3 42796 NULL
+fw_device_op_compat_ioctl_42804 fw_device_op_compat_ioctl 2 42804 NULL
+drm_ioctl_42813 drm_ioctl 2 42813 NULL
+iwl_dbgfs_ucode_bt_stats_read_42820 iwl_dbgfs_ucode_bt_stats_read 3 42820 NULL
@@ -108249,6 +108081,7 @@ index 0000000..7dad2cd
+mmu_set_spte_43327 mmu_set_spte 7-6 43327 NULL
+__ext4_get_inode_loc_43332 __ext4_get_inode_loc 0 43332 NULL
+kvm_host_page_size_43348 kvm_host_page_size 2-0 43348 NULL
++activation_descriptor_init_43358 activation_descriptor_init 1 43358 NULL
+gart_free_coherent_43362 gart_free_coherent 4-2 43362 NULL
+hash_net4_expire_43378 hash_net4_expire 3 43378 NULL
+xenfb_write_43412 xenfb_write 3 43412 NULL
@@ -108256,8 +108089,8 @@ index 0000000..7dad2cd
+usb_alloc_urb_43436 usb_alloc_urb 1 43436 NULL
+ath6kl_wmi_roam_tbl_event_rx_43440 ath6kl_wmi_roam_tbl_event_rx 3 43440 NULL
+ocfs2_rotate_tree_left_43442 ocfs2_rotate_tree_left 0 43442 NULL
-+usb_string_43443 usb_string 0 43443 NULL nohasharray
-+usemap_size_43443 usemap_size 0-2-1 43443 &usb_string_43443
++usemap_size_43443 usemap_size 0-2-1 43443 NULL nohasharray
++usb_string_43443 usb_string 0 43443 &usemap_size_43443
+get_vm_area_size_43444 get_vm_area_size 0 43444 NULL
+nvme_trans_device_id_page_43466 nvme_trans_device_id_page 4 43466 NULL
+calculate_discard_block_size_43480 calculate_discard_block_size 0 43480 NULL nohasharray
@@ -108277,6 +108110,7 @@ index 0000000..7dad2cd
+proc_read_43614 proc_read 3 43614 NULL
+i915_gem_execbuffer_relocate_object_slow_43618 i915_gem_execbuffer_relocate_object_slow 0 43618 NULL nohasharray
+disable_dma_on_even_43618 disable_dma_on_even 0 43618 &i915_gem_execbuffer_relocate_object_slow_43618
++alloc_thread_groups_43625 alloc_thread_groups 2 43625 NULL
+random_write_43656 random_write 3 43656 NULL
+bio_integrity_tag_43658 bio_integrity_tag 3 43658 NULL
+ext4_acl_count_43659 ext4_acl_count 0-1 43659 NULL
@@ -108565,8 +108399,8 @@ index 0000000..7dad2cd
+dma_tx_errors_read_46060 dma_tx_errors_read 3 46060 &__ocfs2_move_extent_46060
+sel_commit_bools_write_46077 sel_commit_bools_write 3 46077 NULL
+arizona_set_irq_wake_46101 arizona_set_irq_wake 2 46101 NULL
-+il3945_ucode_general_stats_read_46111 il3945_ucode_general_stats_read 3 46111 NULL nohasharray
-+memcg_update_array_size_46111 memcg_update_array_size 1 46111 &il3945_ucode_general_stats_read_46111
++memcg_update_array_size_46111 memcg_update_array_size 1 46111 NULL nohasharray
++il3945_ucode_general_stats_read_46111 il3945_ucode_general_stats_read 3 46111 &memcg_update_array_size_46111
+C_SYSC_writev_46113 C_SYSC_writev 3 46113 NULL
+mlx4_ib_alloc_fast_reg_page_list_46119 mlx4_ib_alloc_fast_reg_page_list 2 46119 NULL
+paging32_walk_addr_nested_46121 paging32_walk_addr_nested 3 46121 NULL
@@ -108586,8 +108420,8 @@ index 0000000..7dad2cd
+mpi_read_raw_data_46248 mpi_read_raw_data 2 46248 NULL
+ReadReg_46277 ReadReg 0 46277 NULL
+sg_proc_write_dressz_46316 sg_proc_write_dressz 3 46316 NULL
-+compat_SyS_readv_46328 compat_SyS_readv 3 46328 NULL nohasharray
-+__hwahc_dev_set_key_46328 __hwahc_dev_set_key 5 46328 &compat_SyS_readv_46328
++__hwahc_dev_set_key_46328 __hwahc_dev_set_key 5 46328 NULL nohasharray
++compat_SyS_readv_46328 compat_SyS_readv 3 46328 &__hwahc_dev_set_key_46328
+iwl_dbgfs_chain_noise_read_46355 iwl_dbgfs_chain_noise_read 3 46355 NULL
+smk_write_direct_46363 smk_write_direct 3 46363 NULL
+__iommu_calculate_agaw_46366 __iommu_calculate_agaw 2 46366 NULL
@@ -108634,6 +108468,7 @@ index 0000000..7dad2cd
+irq_domain_add_simple_46734 irq_domain_add_simple 2-3 46734 NULL
+ext4_count_free_46754 ext4_count_free 2 46754 NULL nohasharray
+pte_pfn_46754 pte_pfn 0 46754 &ext4_count_free_46754
++ntfs2utc_46762 ntfs2utc 1 46762 NULL
+hest_ghes_dev_register_46766 hest_ghes_dev_register 1 46766 NULL
+int_hw_irq_en_46776 int_hw_irq_en 3 46776 NULL
+regcache_lzo_sync_46777 regcache_lzo_sync 2 46777 NULL
@@ -108685,6 +108520,7 @@ index 0000000..7dad2cd
+acpi_ut_initialize_buffer_47143 acpi_ut_initialize_buffer 2 47143 &ses_recv_diag_47143
+mxms_headerlen_47161 mxms_headerlen 0 47161 NULL
+rs_sta_dbgfs_rate_scale_data_read_47165 rs_sta_dbgfs_rate_scale_data_read 3 47165 NULL
++alloc_cpumask_var_node_47167 alloc_cpumask_var_node 3 47167 NULL
+bpf_alloc_binary_47170 bpf_alloc_binary 1 47170 NULL
+rts51x_ms_rw_47171 rts51x_ms_rw 3-4 47171 NULL
+btrfs_del_inode_ref_47181 btrfs_del_inode_ref 0 47181 NULL
@@ -108805,8 +108641,8 @@ index 0000000..7dad2cd
+set_discoverable_48141 set_discoverable 4 48141 NULL
+dn_fib_count_nhs_48145 dn_fib_count_nhs 0 48145 NULL
+get_cur_inode_state_48149 get_cur_inode_state 0 48149 NULL
-+bitmap_onto_48152 bitmap_onto 4 48152 NULL nohasharray
-+_add_to_r4w_48152 _add_to_r4w 4 48152 &bitmap_onto_48152
++_add_to_r4w_48152 _add_to_r4w 4 48152 NULL nohasharray
++bitmap_onto_48152 bitmap_onto 4 48152 &_add_to_r4w_48152
+isr_dma1_done_read_48159 isr_dma1_done_read 3 48159 NULL
+c4iw_id_table_alloc_48163 c4iw_id_table_alloc 3 48163 NULL
+ocfs2_find_next_zero_bit_unaligned_48170 ocfs2_find_next_zero_bit_unaligned 2-3 48170 NULL nohasharray
@@ -108848,7 +108684,8 @@ index 0000000..7dad2cd
+tun_recvmsg_48463 tun_recvmsg 4 48463 NULL
+compat_SyS_preadv64_48469 compat_SyS_preadv64 3 48469 NULL
+ipath_format_hwerrors_48487 ipath_format_hwerrors 5 48487 NULL
-+r8712_usbctrl_vendorreq_48489 r8712_usbctrl_vendorreq 6 48489 NULL
++init_section_page_cgroup_48489 init_section_page_cgroup 2 48489 NULL nohasharray
++r8712_usbctrl_vendorreq_48489 r8712_usbctrl_vendorreq 6 48489 &init_section_page_cgroup_48489
+ocfs2_refcount_cow_48495 ocfs2_refcount_cow 3 48495 NULL
+send_control_msg_48498 send_control_msg 6 48498 NULL
+mlx4_en_create_tx_ring_48501 mlx4_en_create_tx_ring 4 48501 NULL
@@ -108887,8 +108724,9 @@ index 0000000..7dad2cd
+vc_do_resize_48842 vc_do_resize 4-3 48842 NULL
+comedi_buf_write_alloc_48846 comedi_buf_write_alloc 0-2 48846 NULL
+suspend_dtim_interval_write_48854 suspend_dtim_interval_write 3 48854 NULL
-+viafb_dvp1_proc_write_48864 viafb_dvp1_proc_write 3 48864 NULL nohasharray
-+C_SYSC_pwritev64_48864 C_SYSC_pwritev64 3 48864 &viafb_dvp1_proc_write_48864
++C_SYSC_pwritev64_48864 C_SYSC_pwritev64 3 48864 NULL nohasharray
++viafb_dvp1_proc_write_48864 viafb_dvp1_proc_write 3 48864 &C_SYSC_pwritev64_48864
++ide_port_alloc_devices_48866 ide_port_alloc_devices 2 48866 NULL
+__ffs_ep0_read_events_48868 __ffs_ep0_read_events 3 48868 NULL
+ext2_alloc_branch_48889 ext2_alloc_branch 4 48889 NULL
+crypto_cipher_ctxsize_48890 crypto_cipher_ctxsize 0 48890 NULL
@@ -109143,12 +108981,13 @@ index 0000000..7dad2cd
+dpcm_show_state_50827 dpcm_show_state 0 50827 NULL
+acpi_ev_install_gpe_block_50829 acpi_ev_install_gpe_block 2 50829 NULL
+SetArea_50835 SetArea 4 50835 NULL nohasharray
-+mask_from_50835 mask_from 0-1-2 50835 &SetArea_50835 nohasharray
-+create_mem_extents_50835 create_mem_extents 0 50835 &mask_from_50835
++create_mem_extents_50835 create_mem_extents 0 50835 &SetArea_50835 nohasharray
++mask_from_50835 mask_from 0-1-2 50835 &create_mem_extents_50835
+videobuf_dma_init_user_50839 videobuf_dma_init_user 3-4 50839 NULL
+btrfs_search_slot_for_read_50843 btrfs_search_slot_for_read 0 50843 NULL
+self_check_write_50856 self_check_write 0-5 50856 NULL
+carl9170_debugfs_write_50857 carl9170_debugfs_write 3 50857 NULL
++alloc_masks_50861 alloc_masks 3 50861 NULL
+__percpu_counter_init_50878 __percpu_counter_init 0 50878 NULL
+btrfs_insert_inode_ref_50884 btrfs_insert_inode_ref 0 50884 NULL
+SyS_lgetxattr_50889 SyS_lgetxattr 4 50889 NULL
@@ -109235,8 +109074,8 @@ index 0000000..7dad2cd
+load_pdptrs_51541 load_pdptrs 3 51541 NULL
+__alloc_eip_netdev_51549 __alloc_eip_netdev 1 51549 NULL
+ixgb_get_eeprom_len_51586 ixgb_get_eeprom_len 0 51586 NULL
-+snd_interval_refine_first_51589 snd_interval_refine_first 0 51589 NULL nohasharray
-+get_cur_path_51589 get_cur_path 0 51589 &snd_interval_refine_first_51589
++get_cur_path_51589 get_cur_path 0 51589 NULL nohasharray
++snd_interval_refine_first_51589 snd_interval_refine_first 0 51589 &get_cur_path_51589
+aac_convert_sgraw2_51598 aac_convert_sgraw2 4 51598 NULL
+table_size_to_number_of_entries_51613 table_size_to_number_of_entries 0-1 51613 NULL
+extent_fiemap_51621 extent_fiemap 3 51621 NULL
@@ -109245,7 +109084,7 @@ index 0000000..7dad2cd
+get_new_cssid_51665 get_new_cssid 2 51665 NULL
+ps_upsd_utilization_read_51669 ps_upsd_utilization_read 3 51669 NULL
+sctp_setsockopt_associnfo_51684 sctp_setsockopt_associnfo 3 51684 NULL
-+host_mapping_level_51696 host_mapping_level 2 51696 NULL
++host_mapping_level_51696 host_mapping_level 2-0 51696 NULL
+sel_write_access_51704 sel_write_access 3 51704 NULL
+tty_cdev_add_51714 tty_cdev_add 2-4 51714 NULL
+v9fs_alloc_rdir_buf_51716 v9fs_alloc_rdir_buf 2 51716 NULL
@@ -109272,9 +109111,10 @@ index 0000000..7dad2cd
+get_indirect_ea_51869 get_indirect_ea 4 51869 NULL
+user_read_51881 user_read 3 51881 NULL
+dbAdjCtl_51888 dbAdjCtl 0 51888 NULL
-+virt_to_phys_51896 virt_to_phys 0 51896 NULL nohasharray
-+SyS_mq_timedsend_51896 SyS_mq_timedsend 3 51896 &virt_to_phys_51896
++SyS_mq_timedsend_51896 SyS_mq_timedsend 3 51896 NULL nohasharray
++virt_to_phys_51896 virt_to_phys 0 51896 &SyS_mq_timedsend_51896
+commit_fs_roots_51898 commit_fs_roots 0 51898 NULL
++uvhub_to_first_node_51916 uvhub_to_first_node 0 51916 NULL
+wmi_set_ie_51919 wmi_set_ie 3 51919 NULL
+dbg_status_buf_51930 dbg_status_buf 2 51930 NULL
+__tcp_mtu_to_mss_51938 __tcp_mtu_to_mss 0-2 51938 NULL
@@ -109288,6 +109128,7 @@ index 0000000..7dad2cd
+get_zone_51981 get_zone 0-1 51981 NULL
+ath6kl_sdio_alloc_prep_scat_req_51986 ath6kl_sdio_alloc_prep_scat_req 2 51986 NULL
+_c4iw_write_mem_dma_51991 _c4iw_write_mem_dma 3 51991 NULL
++ntfs_attr_size_51994 ntfs_attr_size 0 51994 NULL
+dwc3_mode_write_51997 dwc3_mode_write 3 51997 NULL
+skb_copy_datagram_from_iovec_52014 skb_copy_datagram_from_iovec 4-2-5 52014 NULL
+rdmalt_52022 rdmalt 0 52022 NULL
@@ -109483,8 +109324,8 @@ index 0000000..7dad2cd
+nr_sendmsg_53656 nr_sendmsg 4 53656 NULL
+fuse_fill_write_pages_53682 fuse_fill_write_pages 0-4 53682 NULL
+v4l2_event_subscribe_53687 v4l2_event_subscribe 3 53687 NULL
-+igb_alloc_q_vector_53690 igb_alloc_q_vector 6-4 53690 NULL nohasharray
-+bdev_logical_block_size_53690 bdev_logical_block_size 0 53690 &igb_alloc_q_vector_53690
++bdev_logical_block_size_53690 bdev_logical_block_size 0 53690 NULL nohasharray
++igb_alloc_q_vector_53690 igb_alloc_q_vector 6-4 53690 &bdev_logical_block_size_53690
+find_overflow_devnum_53711 find_overflow_devnum 0 53711 NULL
+bio_integrity_split_53714 bio_integrity_split 3 53714 NULL
+__ocfs2_resv_find_window_53721 __ocfs2_resv_find_window 3 53721 NULL
@@ -109585,7 +109426,8 @@ index 0000000..7dad2cd
+setsockopt_54539 setsockopt 5 54539 NULL
+i915_reset_gen7_sol_offsets_54547 i915_reset_gen7_sol_offsets 0 54547 NULL
+lbs_lowsnr_write_54549 lbs_lowsnr_write 3 54549 NULL
-+i915_gem_get_seqno_54555 i915_gem_get_seqno 0 54555 NULL
++ntfs_commit_pages_after_non_resident_write_54555 ntfs_commit_pages_after_non_resident_write 4-3 54555 NULL nohasharray
++i915_gem_get_seqno_54555 i915_gem_get_seqno 0 54555 &ntfs_commit_pages_after_non_resident_write_54555
+btrfs_update_inode_item_54561 btrfs_update_inode_item 0 54561 NULL nohasharray
+SYSC_setsockopt_54561 SYSC_setsockopt 5 54561 &btrfs_update_inode_item_54561
+nfsd_vfs_write_54577 nfsd_vfs_write 6 54577 NULL
@@ -109598,6 +109440,7 @@ index 0000000..7dad2cd
+dns_resolver_read_54658 dns_resolver_read 3 54658 NULL
+twl6030_interrupt_mask_54659 twl6030_interrupt_mask 2 54659 NULL
+kvm_read_cr3_54662 kvm_read_cr3 0 54662 NULL
++tdp_page_fault_54663 tdp_page_fault 2 54663 NULL
+bus_add_device_54665 bus_add_device 0 54665 NULL
+cw1200_queue_stats_init_54670 cw1200_queue_stats_init 2 54670 NULL
+bio_kmalloc_54672 bio_kmalloc 2 54672 NULL
@@ -109685,8 +109528,8 @@ index 0000000..7dad2cd
+lov_get_stripecnt_55297 lov_get_stripecnt 0-3 55297 NULL
+gsm_control_modem_55303 gsm_control_modem 3 55303 NULL
+wimax_msg_len_55304 wimax_msg_len 0 55304 NULL
-+qp_alloc_guest_work_55305 qp_alloc_guest_work 5-3 55305 NULL nohasharray
-+__get_vm_area_node_55305 __get_vm_area_node 6 55305 &qp_alloc_guest_work_55305
++__get_vm_area_node_55305 __get_vm_area_node 6 55305 NULL nohasharray
++qp_alloc_guest_work_55305 qp_alloc_guest_work 5-3 55305 &__get_vm_area_node_55305
+__vxge_hw_vpath_initialize_55328 __vxge_hw_vpath_initialize 2 55328 NULL
+do_shmat_55336 do_shmat 5 55336 NULL
+vme_user_read_55338 vme_user_read 3 55338 NULL
@@ -109763,6 +109606,7 @@ index 0000000..7dad2cd
+ceph_get_direct_page_vector_55956 ceph_get_direct_page_vector 2 55956 NULL
+simple_read_from_buffer_55957 simple_read_from_buffer 5-2 55957 NULL
+tx_tx_imm_resp_read_55964 tx_tx_imm_resp_read 3 55964 NULL
++btrfs_clone_55977 btrfs_clone 5-3 55977 NULL
+wa_xfer_create_subset_sg_55992 wa_xfer_create_subset_sg 2-3 55992 NULL
+nvme_alloc_iod_56027 nvme_alloc_iod 1-2 56027 NULL
+dccp_sendmsg_56058 dccp_sendmsg 4 56058 NULL
@@ -109869,8 +109713,8 @@ index 0000000..7dad2cd
+__bitmap_clear_bits_56912 __bitmap_clear_bits 3 56912 NULL
+strcspn_56913 strcspn 0 56913 NULL
+__kfifo_out_56927 __kfifo_out 0-3 56927 NULL
-+journal_init_revoke_56933 journal_init_revoke 2 56933 NULL nohasharray
-+CopyBufferToControlPacket_56933 CopyBufferToControlPacket 0 56933 &journal_init_revoke_56933
++CopyBufferToControlPacket_56933 CopyBufferToControlPacket 0 56933 NULL nohasharray
++journal_init_revoke_56933 journal_init_revoke 2 56933 &CopyBufferToControlPacket_56933
+nouveau_xtensa_create__56952 nouveau_xtensa_create_ 8 56952 NULL
+diva_get_driver_info_56967 diva_get_driver_info 0 56967 NULL
+nouveau_device_create__56984 nouveau_device_create_ 6 56984 NULL
@@ -109986,8 +109830,8 @@ index 0000000..7dad2cd
+kiblnd_create_tx_pool_57846 kiblnd_create_tx_pool 2 57846 NULL
+process_all_new_xattrs_57881 process_all_new_xattrs 0 57881 NULL
+xt_alloc_table_info_57903 xt_alloc_table_info 1 57903 NULL
-+atomic_add_return_unchecked_57910 atomic_add_return_unchecked 0-1 57910 NULL nohasharray
-+iio_read_first_n_kfifo_57910 iio_read_first_n_kfifo 2 57910 &atomic_add_return_unchecked_57910
++iio_read_first_n_kfifo_57910 iio_read_first_n_kfifo 2 57910 NULL nohasharray
++atomic_add_return_unchecked_57910 atomic_add_return_unchecked 0-1 57910 &iio_read_first_n_kfifo_57910
+memcg_caches_array_size_57918 memcg_caches_array_size 0-1 57918 NULL
+twl_i2c_write_57923 twl_i2c_write 3-4 57923 NULL
+__snd_gf1_look16_57925 __snd_gf1_look16 0 57925 NULL
@@ -110066,6 +109910,7 @@ index 0000000..7dad2cd
+xfs_iomap_write_delay_58616 xfs_iomap_write_delay 2 58616 NULL
+skb_copy_to_page_nocache_58624 skb_copy_to_page_nocache 6 58624 NULL
+filemap_fdatawrite_range_58630 filemap_fdatawrite_range 0 58630 NULL
++vb2_qbuf_58631 vb2_qbuf 0 58631 NULL
+module_alloc_update_bounds_rx_58634 module_alloc_update_bounds_rx 1 58634 NULL
+tx_tx_start_fw_gen_read_58648 tx_tx_start_fw_gen_read 3 58648 NULL
+ocfs2_block_to_cluster_start_58653 ocfs2_block_to_cluster_start 2 58653 NULL
@@ -110226,8 +110071,8 @@ index 0000000..7dad2cd
+xlog_bread_offset_60030 xlog_bread_offset 3 60030 NULL
+bio_integrity_hw_sectors_60039 bio_integrity_hw_sectors 0-2 60039 NULL
+do_ip6t_set_ctl_60040 do_ip6t_set_ctl 4 60040 NULL
-+pin_2_irq_60050 pin_2_irq 0-3 60050 NULL nohasharray
-+vcs_size_60050 vcs_size 0 60050 &pin_2_irq_60050
++vcs_size_60050 vcs_size 0 60050 NULL nohasharray
++pin_2_irq_60050 pin_2_irq 0-3 60050 &vcs_size_60050
+gru_alloc_gts_60056 gru_alloc_gts 3-2 60056 NULL
+open_cur_inode_file_60057 open_cur_inode_file 0 60057 NULL
+compat_writev_60063 compat_writev 3 60063 NULL
@@ -110492,6 +110337,7 @@ index 0000000..7dad2cd
+set_ssp_62411 set_ssp 4 62411 NULL
+mlx4_en_create_rx_ring_62498 mlx4_en_create_rx_ring 3 62498 NULL
+ext_rts51x_sd_execute_read_data_62501 ext_rts51x_sd_execute_read_data 9 62501 NULL
++mtip_get_next_rr_node_62502 mtip_get_next_rr_node 0 62502 NULL
+ocfs2_path_bh_journal_access_62504 ocfs2_path_bh_journal_access 0 62504 NULL
+pep_sendmsg_62524 pep_sendmsg 4 62524 NULL
+test_iso_queue_62534 test_iso_queue 5 62534 NULL nohasharray
@@ -110548,6 +110394,7 @@ index 0000000..7dad2cd
+agp_create_user_memory_62955 agp_create_user_memory 1 62955 NULL
+send_write_62969 send_write 0-3 62969 NULL
+__ext3_journal_stop_63017 __ext3_journal_stop 0 63017 NULL
++alloc_mem_cgroup_per_zone_info_63024 alloc_mem_cgroup_per_zone_info 2 63024 NULL
+kstrtoull_from_user_63026 kstrtoull_from_user 2 63026 NULL
+PTR_ERR_63033 PTR_ERR 0 63033 NULL nohasharray
+__vb2_perform_fileio_63033 __vb2_perform_fileio 3 63033 &PTR_ERR_63033
@@ -110845,8 +110692,10 @@ index 0000000..7dad2cd
+il_dbgfs_wd_timeout_write_65464 il_dbgfs_wd_timeout_write 3 65464 NULL
+ext4_es_zeroout_65465 ext4_es_zeroout 0 65465 NULL
+clear_user_65470 clear_user 2 65470 NULL
-+dpcm_state_read_file_65489 dpcm_state_read_file 3 65489 NULL
++__pcibus_to_node_65489 __pcibus_to_node 0 65489 NULL nohasharray
++dpcm_state_read_file_65489 dpcm_state_read_file 3 65489 &__pcibus_to_node_65489
+lookup_inline_extent_backref_65493 lookup_inline_extent_backref 9-0 65493 NULL
++qib_create_ctxtdata_65497 qib_create_ctxtdata 3 65497 NULL
+nvme_trans_standard_inquiry_page_65526 nvme_trans_standard_inquiry_page 4 65526 NULL
diff --git a/tools/gcc/size_overflow_plugin.c b/tools/gcc/size_overflow_plugin.c
new file mode 100644
@@ -115440,7 +115289,7 @@ index 96b919d..c49bb74 100644
+
#endif
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
-index 1cf9ccb..4a8abb5 100644
+index aac732d..bc87a5d 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -75,12 +75,17 @@ LIST_HEAD(vm_list);
@@ -115472,7 +115321,27 @@ index 1cf9ccb..4a8abb5 100644
(void __user *)(unsigned long)mem->userspace_addr,
mem->memory_size)))
goto out;
-@@ -1867,7 +1872,7 @@ static int kvm_vcpu_release(struct inode *inode, struct file *filp)
+@@ -1613,8 +1618,17 @@ EXPORT_SYMBOL_GPL(kvm_read_guest_cached);
+
+ int kvm_clear_guest_page(struct kvm *kvm, gfn_t gfn, int offset, int len)
+ {
+- return kvm_write_guest_page(kvm, gfn, (const void *) empty_zero_page,
+- offset, len);
++ int r;
++ unsigned long addr;
++
++ addr = gfn_to_hva(kvm, gfn);
++ if (kvm_is_error_hva(addr))
++ return -EFAULT;
++ r = __clear_user((void __user *)addr + offset, len);
++ if (r)
++ return -EFAULT;
++ mark_page_dirty(kvm, gfn);
++ return 0;
+ }
+ EXPORT_SYMBOL_GPL(kvm_clear_guest_page);
+
+@@ -1867,7 +1881,7 @@ static int kvm_vcpu_release(struct inode *inode, struct file *filp)
return 0;
}
@@ -115481,17 +115350,7 @@ index 1cf9ccb..4a8abb5 100644
.release = kvm_vcpu_release,
.unlocked_ioctl = kvm_vcpu_ioctl,
#ifdef CONFIG_COMPAT
-@@ -1893,6 +1898,9 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
- int r;
- struct kvm_vcpu *vcpu, *v;
-
-+ if (id >= KVM_MAX_VCPUS)
-+ return -EINVAL;
-+
- vcpu = kvm_arch_vcpu_create(kvm, id);
- if (IS_ERR(vcpu))
- return PTR_ERR(vcpu);
-@@ -2550,7 +2558,7 @@ static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)
+@@ -2553,7 +2567,7 @@ static int kvm_vm_mmap(struct file *file, struct vm_area_struct *vma)
return 0;
}
@@ -115500,7 +115359,7 @@ index 1cf9ccb..4a8abb5 100644
.release = kvm_vm_release,
.unlocked_ioctl = kvm_vm_ioctl,
#ifdef CONFIG_COMPAT
-@@ -2651,7 +2659,7 @@ out:
+@@ -2654,7 +2668,7 @@ out:
return r;
}
@@ -115509,7 +115368,7 @@ index 1cf9ccb..4a8abb5 100644
.unlocked_ioctl = kvm_dev_ioctl,
.compat_ioctl = kvm_dev_ioctl,
.llseek = noop_llseek,
-@@ -2677,7 +2685,7 @@ static void hardware_enable_nolock(void *junk)
+@@ -2680,7 +2694,7 @@ static void hardware_enable_nolock(void *junk)
if (r) {
cpumask_clear_cpu(cpu, cpus_hardware_enabled);
@@ -115518,7 +115377,7 @@ index 1cf9ccb..4a8abb5 100644
printk(KERN_INFO "kvm: enabling virtualization on "
"CPU%d failed\n", cpu);
}
-@@ -2731,10 +2739,10 @@ static int hardware_enable_all(void)
+@@ -2734,10 +2748,10 @@ static int hardware_enable_all(void)
kvm_usage_count++;
if (kvm_usage_count == 1) {
@@ -115531,7 +115390,7 @@ index 1cf9ccb..4a8abb5 100644
hardware_disable_all_nolock();
r = -EBUSY;
}
-@@ -3168,7 +3176,7 @@ static void kvm_sched_out(struct preempt_notifier *pn,
+@@ -3171,7 +3185,7 @@ static void kvm_sched_out(struct preempt_notifier *pn,
kvm_arch_vcpu_put(vcpu);
}
@@ -115540,7 +115399,7 @@ index 1cf9ccb..4a8abb5 100644
struct module *module)
{
int r;
-@@ -3215,7 +3223,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
+@@ -3218,7 +3232,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
if (!vcpu_align)
vcpu_align = __alignof__(struct kvm_vcpu);
kvm_vcpu_cache = kmem_cache_create("kvm_vcpu", vcpu_size, vcpu_align,
@@ -115549,7 +115408,7 @@ index 1cf9ccb..4a8abb5 100644
if (!kvm_vcpu_cache) {
r = -ENOMEM;
goto out_free_3;
-@@ -3225,9 +3233,11 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
+@@ -3228,9 +3242,11 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
if (r)
goto out_free;
@@ -115561,7 +115420,7 @@ index 1cf9ccb..4a8abb5 100644
r = misc_register(&kvm_dev);
if (r) {
-@@ -3237,9 +3247,6 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
+@@ -3240,9 +3256,6 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
register_syscore_ops(&kvm_syscore_ops);