diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2014-05-14 07:42:01 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2014-05-14 07:42:01 +0000 |
commit | 22279467010358611c5d36571cf96a502d700af5 (patch) | |
tree | 7c895129daf8f3e6e3658c35275ca3668a5486c5 | |
parent | 8c4222d258f87b787f1a32675b8126db52249377 (diff) | |
download | aports-22279467010358611c5d36571cf96a502d700af5.tar.bz2 aports-22279467010358611c5d36571cf96a502d700af5.tar.xz |
mian/linux-grsec: upgrade to 3.14.4
-rw-r--r-- | main/linux-grsec/APKBUILD | 14 | ||||
-rw-r--r-- | main/linux-grsec/grsecurity-2.9.1-3.10.40-unofficial.patch (renamed from main/linux-grsec/grsecurity-2.9.1-3.10.38-unofficial.patch) | 251 |
2 files changed, 132 insertions, 133 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD index aee069acf8..8f5e51e91d 100644 --- a/main/linux-grsec/APKBUILD +++ b/main/linux-grsec/APKBUILD @@ -2,7 +2,7 @@ _flavor=grsec pkgname=linux-${_flavor} -pkgver=3.10.38 +pkgver=3.10.40 case $pkgver in *.*.*) _kernver=${pkgver%.*};; *.*) _kernver=${pkgver};; @@ -152,8 +152,8 @@ dev() { } md5sums="4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz -4afed6094673141bf97dd3e1b5d9aa88 patch-3.10.38.xz -9b8c7d0a5053d3393d3b8dda4f4cb9b9 grsecurity-2.9.1-3.10.38-unofficial.patch +1d771c285df9c45991fdee5d3e4aa87e patch-3.10.40.xz +eda6818885933dc5aed1821bb5fb13d1 grsecurity-2.9.1-3.10.40-unofficial.patch a16f11b12381efb3bec79b9bfb329836 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch 656ae7b10dd2f18dbfa1011041d08d60 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch aa454ffb96428586447775c21449e284 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch @@ -166,8 +166,8 @@ b3c0153d53e508e03d73b94d15b24a96 sysctl_lxc.patch 7cdd9694350d23aece5224a6513f9003 kernelconfig.x86 f8e6f528a32f6a4ceef1efcc1fff0718 kernelconfig.x86_64" sha256sums="df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544 linux-3.10.tar.xz -c1e4a92e06c6bc35c643fa433f484810e52895796d316ec3c3168b7a804951af patch-3.10.38.xz -862d5602c1fb272605552ac8eaefab3112cdcd88f670d8f7121e7f91d50da24c grsecurity-2.9.1-3.10.38-unofficial.patch +ca4514f17cfc0c1b9ef17066465f044f06452a2b3da5e5a0eca8a841df42c634 patch-3.10.40.xz +09ed6f5ce13d59e80bccf74411bd8c30018651da5bdaed6f4b48574b37661f64 grsecurity-2.9.1-3.10.40-unofficial.patch 6af3757ac36a6cd3cda7b0a71b08143726383b19261294a569ad7f4042c72df3 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch dc8e82108615657f1fb9d641efd42255a5761c06edde1b00a41ae0d314d548f0 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch 0985caa0f3ee8ed0959aeaa4214f5f8057ae8e61d50dcae39194912d31e14892 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch @@ -180,8 +180,8 @@ fc613ac466610b866b721c41836fd5bfb2d4b75bceb67972dc6369d7f62ff47e 0006-ipv4-use- 10d93e55f62f1704200c7ca22d7b7c77f0a0f8b418fda0e102c0ff25d62b4d34 kernelconfig.x86 f8f8bd6d4c41409668b9273fd62841dd7d9ffe927323457d5fcb550f9a13f6cf kernelconfig.x86_64" sha512sums="5fb109fcbd59bf3dffc911b853894f0a84afa75151368f783a1252c5ff60c7a1504de216c0012be446df983e2dea400ad8eeed3ce04f24dc61d0ef76c174dc35 linux-3.10.tar.xz -61873cddea34ebca02c4c0793d3b08b3a2c8a453324d8c1f75d7528f34927e2503444c87c90d16339e69695a062825e45b5424ff0007d496352a8b9044e50171 patch-3.10.38.xz -e7caf3ebce5863a22e284ebc7127d905b0453d8ab3be20ba934a379739bf2f069c7fee460ca9f78702fc6a8e29a5d3f8de38c659aa7ebad8b0fe43de0234e847 grsecurity-2.9.1-3.10.38-unofficial.patch +21890114e7853a99e62bf8fbfe131459cba0bc1c0d731719102a155125dbc980b962f3c9b3fd4c060dd4c9198c007d5b7eb2c4ded2c66e6602c13add24c555ef patch-3.10.40.xz +07470cd340dd679cf55aa09bc44daf2a13c4f56f25a093d51c1959b8ebb72dd9296a48ab1516a010cc93ee84fe19e4fc94218f093b3aa15b15a8ef5f17ff81fa grsecurity-2.9.1-3.10.40-unofficial.patch 81e78593288e8b0fd2c03ea9fc1450323887707f087e911f172450a122bc9b591ee83394836789730d951aeec13d0b75a64e1c05f04364abf8f80d883ddc4a02 0001-net-inform-NETDEV_CHANGE-callbacks-which-flags-were-.patch 51ecb15b669f6a82940a13a38939116e003bf5dfd24496771c8279e907b72adcc63d607f0340a2940d757e12ddadb7d45c7af78ae311d284935a6296dbcac00c 0002-arp-flush-arp-cache-on-IFF_NOARP-change.patch 57d0a8bd35d19cf657ded58efe24517d2252aec6984040713ba173a34edb5887ececaa2985076bc6a149eaa57639fd98a042c1c2d226ed4ad8dd5ed0e230717e 0003-ipv4-properly-refresh-rtable-entries-on-pmtu-redirec.patch diff --git a/main/linux-grsec/grsecurity-2.9.1-3.10.38-unofficial.patch b/main/linux-grsec/grsecurity-2.9.1-3.10.40-unofficial.patch index 284976f357..a0c0ac371e 100644 --- a/main/linux-grsec/grsecurity-2.9.1-3.10.38-unofficial.patch +++ b/main/linux-grsec/grsecurity-2.9.1-3.10.40-unofficial.patch @@ -281,7 +281,7 @@ index 1311a48..f233324 100644 pcd. [PARIDE] diff --git a/Makefile b/Makefile -index bd51b50..3d0c1f0 100644 +index b2285ca..4b83f45 100644 --- a/Makefile +++ b/Makefile @@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ @@ -1691,10 +1691,10 @@ index de53547..52b9a28 100644 (unsigned long)(dest_buf) + (size)); \ \ diff --git a/arch/arm/include/asm/futex.h b/arch/arm/include/asm/futex.h -index e42cf59..7b94b8f 100644 +index 2aff798..099eb15 100644 --- a/arch/arm/include/asm/futex.h +++ b/arch/arm/include/asm/futex.h -@@ -50,6 +50,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, +@@ -45,6 +45,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) return -EFAULT; @@ -1703,7 +1703,7 @@ index e42cf59..7b94b8f 100644 smp_mb(); __asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n" "1: ldrex %1, [%4]\n" -@@ -65,6 +67,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, +@@ -60,6 +62,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, : "cc", "memory"); smp_mb(); @@ -1712,7 +1712,7 @@ index e42cf59..7b94b8f 100644 *uval = val; return ret; } -@@ -95,6 +99,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, +@@ -90,6 +94,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32))) return -EFAULT; @@ -1721,7 +1721,7 @@ index e42cf59..7b94b8f 100644 __asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n" "1: " TUSER(ldr) " %1, [%4]\n" " teq %1, %2\n" -@@ -105,6 +111,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, +@@ -100,6 +106,8 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT) : "cc", "memory"); @@ -1730,7 +1730,7 @@ index e42cf59..7b94b8f 100644 *uval = val; return ret; } -@@ -127,6 +135,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) +@@ -122,6 +130,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) return -EFAULT; pagefault_disable(); /* implies preempt_disable() */ @@ -1738,7 +1738,7 @@ index e42cf59..7b94b8f 100644 switch (op) { case FUTEX_OP_SET: -@@ -148,6 +157,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) +@@ -143,6 +152,7 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) ret = -ENOSYS; } @@ -1918,7 +1918,7 @@ index 5cfba15..f415e1a 100644 #define PTE_EXT_AP0 (_AT(pteval_t, 1) << 4) #define PTE_EXT_AP1 (_AT(pteval_t, 2) << 4) diff --git a/arch/arm/include/asm/pgtable-2level.h b/arch/arm/include/asm/pgtable-2level.h -index f97ee02..cc9fe9e 100644 +index c98c9c8..ed6579f 100644 --- a/arch/arm/include/asm/pgtable-2level.h +++ b/arch/arm/include/asm/pgtable-2level.h @@ -126,6 +126,9 @@ @@ -3668,19 +3668,18 @@ index cad3ca8..1d79e0f 100644 extern void ux500_cpu_die(unsigned int cpu); diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig -index 08c9fe9..191320c 100644 +index c21082d..6b80680 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig -@@ -436,7 +436,7 @@ config CPU_32v5 +@@ -436,6 +436,7 @@ config CPU_32v5 config CPU_32v6 bool -- select CPU_USE_DOMAINS if CPU_V6 && MMU + select CPU_USE_DOMAINS if CPU_V6 && MMU && !PAX_KERNEXEC && !PAX_MEMORY_UDEREF select TLS_REG_EMUL if !CPU_32v6K && !MMU config CPU_32v6K -@@ -585,6 +585,7 @@ config CPU_CP15_MPU +@@ -584,6 +585,7 @@ config CPU_CP15_MPU config CPU_USE_DOMAINS bool @@ -3688,7 +3687,7 @@ index 08c9fe9..191320c 100644 help This option enables or disables the use of domain switching via the set_fs() function. -@@ -780,6 +781,7 @@ config NEED_KUSER_HELPERS +@@ -779,6 +781,7 @@ config NEED_KUSER_HELPERS config KUSER_HELPERS bool "Enable kuser helpers in vector page" if !NEED_KUSER_HELPERS default y @@ -3696,7 +3695,7 @@ index 08c9fe9..191320c 100644 help Warning: disabling this option may break user programs. -@@ -792,7 +794,7 @@ config KUSER_HELPERS +@@ -791,7 +794,7 @@ config KUSER_HELPERS See Documentation/arm/kernel_user_helpers.txt for details. However, the fixed address nature of these helpers can be used @@ -4082,10 +4081,10 @@ index 0ecc43f..190b956 100644 free_reserved_area(&__tcm_start, &__tcm_end, 0, "TCM link"); #endif diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c -index 04d9006..c547d85 100644 +index f123d6e..04bf569 100644 --- a/arch/arm/mm/ioremap.c +++ b/arch/arm/mm/ioremap.c -@@ -392,9 +392,9 @@ __arm_ioremap_exec(unsigned long phys_addr, size_t size, bool cached) +@@ -392,9 +392,9 @@ __arm_ioremap_exec(phys_addr_t phys_addr, size_t size, bool cached) unsigned int mtype; if (cached) @@ -4098,7 +4097,7 @@ index 04d9006..c547d85 100644 return __arm_ioremap_caller(phys_addr, size, mtype, __builtin_return_address(0)); diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c -index f0ef2f7..08d2f76a 100644 +index 5ef506c..6fac9c5 100644 --- a/arch/arm/mm/mmap.c +++ b/arch/arm/mm/mmap.c @@ -59,6 +59,7 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, @@ -4210,7 +4209,7 @@ index f0ef2f7..08d2f76a 100644 mm->unmap_area = arch_unmap_area_topdown; } diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c -index daf336f..4e6392c 100644 +index fb3c446..28a42c0 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -36,6 +36,22 @@ @@ -4389,7 +4388,7 @@ index daf336f..4e6392c 100644 } if (cpu_arch >= CPU_ARCH_ARMv7 && (cr & CR_TRE)) { /* -@@ -468,6 +536,9 @@ static void __init build_mem_type_table(void) +@@ -478,6 +546,9 @@ static void __init build_mem_type_table(void) * from SVC mode and no access from userspace. */ mem_types[MT_ROM].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; @@ -4399,7 +4398,7 @@ index daf336f..4e6392c 100644 mem_types[MT_MINICLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; mem_types[MT_CACHECLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE; #endif -@@ -485,11 +556,17 @@ static void __init build_mem_type_table(void) +@@ -495,11 +566,17 @@ static void __init build_mem_type_table(void) mem_types[MT_DEVICE_WC].prot_pte |= L_PTE_SHARED; mem_types[MT_DEVICE_CACHED].prot_sect |= PMD_SECT_S; mem_types[MT_DEVICE_CACHED].prot_pte |= L_PTE_SHARED; @@ -4421,7 +4420,7 @@ index daf336f..4e6392c 100644 } } -@@ -500,15 +577,20 @@ static void __init build_mem_type_table(void) +@@ -510,15 +587,20 @@ static void __init build_mem_type_table(void) if (cpu_arch >= CPU_ARCH_ARMv6) { if (cpu_arch >= CPU_ARCH_ARMv7 && (cr & CR_TRE)) { /* Non-cacheable Normal is XCB = 001 */ @@ -4445,7 +4444,7 @@ index daf336f..4e6392c 100644 } #ifdef CONFIG_ARM_LPAE -@@ -524,6 +606,8 @@ static void __init build_mem_type_table(void) +@@ -534,6 +616,8 @@ static void __init build_mem_type_table(void) vecs_pgprot |= PTE_EXT_AF; #endif @@ -4454,7 +4453,7 @@ index daf336f..4e6392c 100644 for (i = 0; i < 16; i++) { pteval_t v = pgprot_val(protection_map[i]); protection_map[i] = __pgprot(v | user_pgprot); -@@ -541,10 +625,15 @@ static void __init build_mem_type_table(void) +@@ -551,10 +635,15 @@ static void __init build_mem_type_table(void) mem_types[MT_LOW_VECTORS].prot_l1 |= ecc_mask; mem_types[MT_HIGH_VECTORS].prot_l1 |= ecc_mask; @@ -4473,7 +4472,7 @@ index daf336f..4e6392c 100644 mem_types[MT_ROM].prot_sect |= cp->pmd; switch (cp->pmd) { -@@ -1166,18 +1255,15 @@ void __init arm_mm_memblock_reserve(void) +@@ -1176,18 +1265,15 @@ void __init arm_mm_memblock_reserve(void) * called function. This means you can't use any function or debugging * method which may touch any device, otherwise the kernel _will_ crash. */ @@ -4496,7 +4495,7 @@ index daf336f..4e6392c 100644 for (addr = VMALLOC_START; addr; addr += PMD_SIZE) pmd_clear(pmd_off_k(addr)); -@@ -1217,7 +1303,7 @@ static void __init devicemaps_init(struct machine_desc *mdesc) +@@ -1227,7 +1313,7 @@ static void __init devicemaps_init(struct machine_desc *mdesc) * location (0xffff0000). If we aren't using high-vectors, also * create a mapping at the low-vectors virtual address. */ @@ -4505,7 +4504,7 @@ index daf336f..4e6392c 100644 map.virtual = 0xffff0000; map.length = PAGE_SIZE; #ifdef CONFIG_KUSER_HELPERS -@@ -1287,8 +1373,39 @@ static void __init map_lowmem(void) +@@ -1297,8 +1383,39 @@ static void __init map_lowmem(void) map.pfn = __phys_to_pfn(start); map.virtual = __phys_to_virt(start); map.length = end - start; @@ -7747,10 +7746,10 @@ index 4aad413..85d86bf 100644 #define _PAGE_NO_CACHE 0x020 /* I: cache inhibit */ #define _PAGE_WRITETHRU 0x040 /* W: cache write-through */ diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h -index e1fb161..2290d1d 100644 +index 795f677..b106a9c 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h -@@ -234,6 +234,7 @@ +@@ -235,6 +235,7 @@ #define SPRN_DBCR 0x136 /* e300 Data Breakpoint Control Reg */ #define SPRN_DSISR 0x012 /* Data Storage Interrupt Status Register */ #define DSISR_NOHPTE 0x40000000 /* no translation found */ @@ -8049,10 +8048,10 @@ index 2e3200c..72095ce 100644 /* Find this entry, or if that fails, the next avail. entry */ while (entry->jump[0]) { diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c -index 7baa27b..f6b394a 100644 +index 1e1c995..e3f65e7 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c -@@ -884,8 +884,8 @@ void show_regs(struct pt_regs * regs) +@@ -906,8 +906,8 @@ void show_regs(struct pt_regs * regs) * Lookup NIP late so we have the best change of getting the * above info out without failing */ @@ -8063,7 +8062,7 @@ index 7baa27b..f6b394a 100644 #endif #ifdef CONFIG_PPC_TRANSACTIONAL_MEM printk("PACATMSCRATCH [%llx]\n", get_paca()->tm_scratch); -@@ -1345,10 +1345,10 @@ void show_stack(struct task_struct *tsk, unsigned long *stack) +@@ -1367,10 +1367,10 @@ void show_stack(struct task_struct *tsk, unsigned long *stack) newsp = stack[0]; ip = stack[STACK_FRAME_LR_SAVE]; if (!firstframe || ip != lr) { @@ -8076,7 +8075,7 @@ index 7baa27b..f6b394a 100644 (void *)current->ret_stack[curr_frame].ret); curr_frame--; } -@@ -1368,7 +1368,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack) +@@ -1390,7 +1390,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack) struct pt_regs *regs = (struct pt_regs *) (sp + STACK_FRAME_OVERHEAD); lr = regs->link; @@ -8085,7 +8084,7 @@ index 7baa27b..f6b394a 100644 regs->trap, (void *)regs->nip, (void *)lr); firstframe = 1; } -@@ -1404,58 +1404,3 @@ void notrace __ppc64_runlatch_off(void) +@@ -1426,58 +1426,3 @@ void notrace __ppc64_runlatch_off(void) mtspr(SPRN_CTRLT, ctrl); } #endif /* CONFIG_PPC64 */ @@ -8184,10 +8183,10 @@ index 64f7bd5..8dd550f 100644 if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c -index 7e9dff8..b63e4b5 100644 +index 81f929f..8aef793 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c -@@ -993,7 +993,7 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka, +@@ -995,7 +995,7 @@ int handle_rt_signal32(unsigned long sig, struct k_sigaction *ka, /* Save user registers on the stack */ frame = &rt_sf->uc.uc_mcontext; addr = frame; @@ -8197,10 +8196,10 @@ index 7e9dff8..b63e4b5 100644 tramp = current->mm->context.vdso_base + vdso32_rt_sigtramp; } else { diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c -index 35c20a1..e4bf34c 100644 +index 74d9615..72567a7 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c -@@ -757,7 +757,7 @@ int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info, +@@ -759,7 +759,7 @@ int handle_rt_signal64(int signr, struct k_sigaction *ka, siginfo_t *info, #endif /* Set up to return from userspace. */ @@ -11934,7 +11933,7 @@ index 7194d9f..0ad497c 100644 KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ GCOV_PROFILE := n diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c -index d606463..b887794 100644 +index 1308bee..bd711fa 100644 --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c @@ -150,7 +150,6 @@ again: @@ -11996,10 +11995,10 @@ index a53440e..c3dbf1e 100644 .previous diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S -index 1e3184f..0d11e2e 100644 +index abb988a..995dc8c 100644 --- a/arch/x86/boot/compressed/head_32.S +++ b/arch/x86/boot/compressed/head_32.S -@@ -118,7 +118,7 @@ preferred_addr: +@@ -120,7 +120,7 @@ preferred_addr: notl %eax andl %eax, %ebx #else @@ -12008,7 +12007,7 @@ index 1e3184f..0d11e2e 100644 #endif /* Target address to relocate to for decompression */ -@@ -204,7 +204,7 @@ relocated: +@@ -206,7 +206,7 @@ relocated: * and where it was actually loaded. */ movl %ebp, %ebx @@ -12017,7 +12016,7 @@ index 1e3184f..0d11e2e 100644 jz 2f /* Nothing to be done if loaded at compiled addr. */ /* * Process relocations. -@@ -212,8 +212,7 @@ relocated: +@@ -214,8 +214,7 @@ relocated: 1: subl $4, %edi movl (%edi), %ecx @@ -12028,7 +12027,7 @@ index 1e3184f..0d11e2e 100644 jmp 1b 2: diff --git a/arch/x86/boot/compressed/head_64.S b/arch/x86/boot/compressed/head_64.S -index 16f24e6..47491a3 100644 +index 92059b8..415ab32d 100644 --- a/arch/x86/boot/compressed/head_64.S +++ b/arch/x86/boot/compressed/head_64.S @@ -97,7 +97,7 @@ ENTRY(startup_32) @@ -12040,7 +12039,7 @@ index 16f24e6..47491a3 100644 #endif /* Target address to relocate to for decompression */ -@@ -272,7 +272,7 @@ preferred_addr: +@@ -269,7 +269,7 @@ preferred_addr: notq %rax andq %rax, %rbp #else @@ -12049,7 +12048,7 @@ index 16f24e6..47491a3 100644 #endif /* Target address to relocate to for decompression */ -@@ -363,8 +363,8 @@ gdt: +@@ -360,8 +360,8 @@ gdt: .long gdt .word 0 .quad 0x0000000000000000 /* NULL descriptor */ @@ -22741,7 +22740,7 @@ index 7ac938a..d4be3b6 100644 /* * End of kprobes section diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c -index e625319..b9abb9d 100644 +index 1ffc32d..e52c745 100644 --- a/arch/x86/kernel/ftrace.c +++ b/arch/x86/kernel/ftrace.c @@ -104,6 +104,8 @@ ftrace_modify_code_direct(unsigned long ip, unsigned const char *old_code, @@ -24187,7 +24186,7 @@ index cd6d9a5..16245a4 100644 }; #endif diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c -index ebc9873..1b9724b 100644 +index af1d14a..37b8776 100644 --- a/arch/x86/kernel/ldt.c +++ b/arch/x86/kernel/ldt.c @@ -66,13 +66,13 @@ static int alloc_ldt(mm_context_t *pc, int mincount, int reload) @@ -24251,9 +24250,9 @@ index ebc9873..1b9724b 100644 + } +#endif + - fill_ldt(&ldt, &ldt_info); - if (oldmode) - ldt.avl = 0; + /* + * On x86-64 we do not support 16-bit segments due to + * IRET leaking the high bits of the kernel stack address. diff --git a/arch/x86/kernel/machine_kexec_32.c b/arch/x86/kernel/machine_kexec_32.c index 5b19e4d..6476a76 100644 --- a/arch/x86/kernel/machine_kexec_32.c @@ -35115,7 +35114,7 @@ index 8905e03..d1b0719 100644 unsigned long timeout_msec) { diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c -index 8b8cbe9..a6fb17a 100644 +index 9cf616b..504248d 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -98,7 +98,7 @@ static unsigned int ata_dev_set_xfermode(struct ata_device *dev); @@ -35127,7 +35126,7 @@ index 8b8cbe9..a6fb17a 100644 struct ata_force_param { const char *name; -@@ -4824,7 +4824,7 @@ void ata_qc_free(struct ata_queued_cmd *qc) +@@ -4829,7 +4829,7 @@ void ata_qc_free(struct ata_queued_cmd *qc) struct ata_port *ap; unsigned int tag; @@ -35136,7 +35135,7 @@ index 8b8cbe9..a6fb17a 100644 ap = qc->ap; qc->flags = 0; -@@ -4840,7 +4840,7 @@ void __ata_qc_complete(struct ata_queued_cmd *qc) +@@ -4845,7 +4845,7 @@ void __ata_qc_complete(struct ata_queued_cmd *qc) struct ata_port *ap; struct ata_link *link; @@ -35145,7 +35144,7 @@ index 8b8cbe9..a6fb17a 100644 WARN_ON_ONCE(!(qc->flags & ATA_QCFLAG_ACTIVE)); ap = qc->ap; link = qc->dev->link; -@@ -5958,6 +5958,7 @@ static void ata_finalize_port_ops(struct ata_port_operations *ops) +@@ -5963,6 +5963,7 @@ static void ata_finalize_port_ops(struct ata_port_operations *ops) return; spin_lock(&lock); @@ -35153,7 +35152,7 @@ index 8b8cbe9..a6fb17a 100644 for (cur = ops->inherits; cur; cur = cur->inherits) { void **inherit = (void **)cur; -@@ -5971,8 +5972,9 @@ static void ata_finalize_port_ops(struct ata_port_operations *ops) +@@ -5976,8 +5977,9 @@ static void ata_finalize_port_ops(struct ata_port_operations *ops) if (IS_ERR(*pp)) *pp = NULL; @@ -35164,7 +35163,7 @@ index 8b8cbe9..a6fb17a 100644 spin_unlock(&lock); } -@@ -6165,7 +6167,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht) +@@ -6170,7 +6172,7 @@ int ata_host_register(struct ata_host *host, struct scsi_host_template *sht) /* give ports names and add SCSI hosts */ for (i = 0; i < host->n_ports; i++) @@ -41140,7 +41139,7 @@ index 49eb511..a774366 100644 /** diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c -index 8f67fe2..8960859 100644 +index 7510a3c..874bd20 100644 --- a/drivers/infiniband/hw/nes/nes_verbs.c +++ b/drivers/infiniband/hw/nes/nes_verbs.c @@ -46,9 +46,9 @@ @@ -42712,7 +42711,7 @@ index 4170a45..8d602b2 100644 /* debug */ static int dvb_usb_dw2102_debug; diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c -index f129551..ecf6514 100644 +index f56b729..850d7c2 100644 --- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c +++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c @@ -326,7 +326,7 @@ struct v4l2_buffer32 { @@ -43579,7 +43578,7 @@ index 51b9d6a..52af9a7 100644 #include <linux/mtd/nand.h> #include <linux/mtd/nftl.h> diff --git a/drivers/mtd/sm_ftl.c b/drivers/mtd/sm_ftl.c -index f9d5615..99dd95f 100644 +index 4b55cd4..9b8c28c 100644 --- a/drivers/mtd/sm_ftl.c +++ b/drivers/mtd/sm_ftl.c @@ -56,7 +56,7 @@ ssize_t sm_attr_show(struct device *dev, struct device_attribute *attr, @@ -43590,7 +43589,7 @@ index f9d5615..99dd95f 100644 + attribute_group_no_const *attr_group; struct attribute **attributes; struct sm_sysfs_attribute *vendor_attribute; - + char *vendor; diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 8395b09..ff4d276 100644 --- a/drivers/net/bonding/bond_main.c @@ -44689,10 +44688,10 @@ index d532948..e0d8bb1 100644 memset(buf, 0, sizeof(buf)); buf_size = min(count, sizeof(buf) - 1); diff --git a/drivers/net/wireless/iwlwifi/dvm/main.c b/drivers/net/wireless/iwlwifi/dvm/main.c -index a8afc7b..de058b2 100644 +index c2b8e49..54e6832 100644 --- a/drivers/net/wireless/iwlwifi/dvm/main.c +++ b/drivers/net/wireless/iwlwifi/dvm/main.c -@@ -1189,7 +1189,7 @@ static void iwl_option_config(struct iwl_priv *priv) +@@ -1193,7 +1193,7 @@ static void iwl_option_config(struct iwl_priv *priv) static int iwl_eeprom_init_hw_params(struct iwl_priv *priv) { struct iwl_nvm_data *data = priv->nvm_data; @@ -44701,7 +44700,7 @@ index a8afc7b..de058b2 100644 if (data->sku_cap_11n_enable && !priv->cfg->ht_params) { -@@ -1203,7 +1203,6 @@ static int iwl_eeprom_init_hw_params(struct iwl_priv *priv) +@@ -1207,7 +1207,6 @@ static int iwl_eeprom_init_hw_params(struct iwl_priv *priv) return -EINVAL; } @@ -46564,7 +46563,7 @@ index 026bfde..90c4018 100644 extern void qla2x00_free_sysfs_attr(scsi_qla_host_t *); extern void qla2x00_init_host_attr(scsi_qla_host_t *); diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c -index ad72c1d..afc9a98 100644 +index 66c495d..bd295ce 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -1571,8 +1571,10 @@ qla2x00_config_dma_addressing(struct qla_hw_data *ha) @@ -47197,10 +47196,10 @@ index 33f83fe..d80f8e1 100644 struct tty_struct *tty; struct tty_ldisc *ld; diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c -index eb255e8..f637a57 100644 +index f179033..55f4871 100644 --- a/drivers/tty/hvc/hvc_console.c +++ b/drivers/tty/hvc/hvc_console.c -@@ -338,7 +338,7 @@ static int hvc_open(struct tty_struct *tty, struct file * filp) +@@ -342,7 +342,7 @@ static int hvc_open(struct tty_struct *tty, struct file * filp) spin_lock_irqsave(&hp->port.lock, flags); /* Check and then increment for fast path open. */ @@ -47209,7 +47208,7 @@ index eb255e8..f637a57 100644 spin_unlock_irqrestore(&hp->port.lock, flags); hvc_kick(); return 0; -@@ -388,7 +388,7 @@ static void hvc_close(struct tty_struct *tty, struct file * filp) +@@ -392,7 +392,7 @@ static void hvc_close(struct tty_struct *tty, struct file * filp) spin_lock_irqsave(&hp->port.lock, flags); @@ -47218,7 +47217,7 @@ index eb255e8..f637a57 100644 spin_unlock_irqrestore(&hp->port.lock, flags); /* We are done with the tty pointer now. */ tty_port_tty_set(&hp->port, NULL); -@@ -406,9 +406,9 @@ static void hvc_close(struct tty_struct *tty, struct file * filp) +@@ -410,9 +410,9 @@ static void hvc_close(struct tty_struct *tty, struct file * filp) */ tty_wait_until_sent_from_close(tty, HVC_CLOSE_WAIT); } else { @@ -47230,7 +47229,7 @@ index eb255e8..f637a57 100644 spin_unlock_irqrestore(&hp->port.lock, flags); } } -@@ -438,12 +438,12 @@ static void hvc_hangup(struct tty_struct *tty) +@@ -442,12 +442,12 @@ static void hvc_hangup(struct tty_struct *tty) * open->hangup case this can be called after the final close so prevent * that from happening for now. */ @@ -47245,7 +47244,7 @@ index eb255e8..f637a57 100644 spin_unlock_irqrestore(&hp->port.lock, flags); tty_port_tty_set(&hp->port, NULL); -@@ -491,7 +491,7 @@ static int hvc_write(struct tty_struct *tty, const unsigned char *buf, int count +@@ -495,7 +495,7 @@ static int hvc_write(struct tty_struct *tty, const unsigned char *buf, int count return -EPIPE; /* FIXME what's this (unprotected) check for? */ @@ -47593,10 +47592,10 @@ index 3ee7217..6b90150 100644 dlci_get(dlci->gsm->dlci[0]); mux_get(dlci->gsm); diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c -index 6c7fe90..9241dab 100644 +index 6cfe401..c4a414a 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c -@@ -2203,6 +2203,7 @@ void n_tty_inherit_ops(struct tty_ldisc_ops *ops) +@@ -2207,6 +2207,7 @@ void n_tty_inherit_ops(struct tty_ldisc_ops *ops) { *ops = tty_ldisc_N_TTY; ops->owner = NULL; @@ -48720,7 +48719,7 @@ index d53547d..6a22d02 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 3a2eb4c..2ee6cb9 100644 +index a036e03..6594b1d 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -27,6 +27,7 @@ @@ -49091,18 +49090,18 @@ index 4f27fdc..d3537e6 100644 } diff --git a/drivers/video/aty/mach64_cursor.c b/drivers/video/aty/mach64_cursor.c -index 95ec042..e6affdd 100644 +index 0fe02e2..ab01b26 100644 --- a/drivers/video/aty/mach64_cursor.c +++ b/drivers/video/aty/mach64_cursor.c -@@ -7,6 +7,7 @@ - #include <linux/string.h> +@@ -8,6 +8,7 @@ + #include "../fb_draw.h" #include <asm/io.h> +#include <asm/pgtable.h> #ifdef __sparc__ #include <asm/fbio.h> -@@ -208,7 +209,9 @@ int aty_init_cursor(struct fb_info *info) +@@ -218,7 +219,9 @@ int aty_init_cursor(struct fb_info *info) info->sprite.buf_align = 16; /* and 64 lines tall. */ info->sprite.flags = FB_PIXMAP_IO; @@ -57836,10 +57835,10 @@ index acd3947..1f896e2 100644 memcpy(c->data, &cookie, 4); c->len=4; diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c -index a2aa97d..10d6c41 100644 +index d56a990..6bf06a0 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c -@@ -305,7 +305,7 @@ static int lockd_start_svc(struct svc_serv *serv) +@@ -306,7 +306,7 @@ static int lockd_start_svc(struct svc_serv *serv) svc_sock_update_bufs(serv); serv->sv_maxconn = nlm_max_connections; @@ -57849,10 +57848,10 @@ index a2aa97d..10d6c41 100644 error = PTR_ERR(nlmsvc_task); printk(KERN_WARNING diff --git a/fs/locks.c b/fs/locks.c -index cb424a4..850e4dd 100644 +index 0274c95..3b9f6e5 100644 --- a/fs/locks.c +++ b/fs/locks.c -@@ -2064,16 +2064,16 @@ void locks_remove_flock(struct file *filp) +@@ -2063,16 +2063,16 @@ void locks_remove_flock(struct file *filp) return; if (filp->f_op && filp->f_op->flock) { @@ -58641,7 +58640,7 @@ index 2c37442..9b9538b 100644 printk(KERN_ERR "%s: kthread_run: %ld\n", __func__, PTR_ERR(task)); diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c -index 27d74a2..c4c2a73 100644 +index f7d7d04..ab3e418 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1126,7 +1126,7 @@ struct nfsd4_operation { @@ -58654,7 +58653,7 @@ index 27d74a2..c4c2a73 100644 static struct nfsd4_operation nfsd4_ops[]; diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c -index 582321a..0224663 100644 +index 5188a38..62f2a33 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -1458,7 +1458,7 @@ nfsd4_decode_notsupp(struct nfsd4_compoundargs *argp, void *p) @@ -58710,10 +58709,10 @@ index ec8d97d..3a01bcf 100644 /* Don't cache excessive amounts of data and XDR failures */ if (!statp || len > (256 >> 2)) { diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c -index 62fd661..e2a1eb7 100644 +index d9b298c..2a747d9 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c -@@ -965,7 +965,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, +@@ -974,7 +974,7 @@ nfsd_vfs_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, } else { oldfs = get_fs(); set_fs(KERNEL_DS); @@ -58722,7 +58721,7 @@ index 62fd661..e2a1eb7 100644 set_fs(oldfs); } -@@ -1052,7 +1052,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, +@@ -1061,7 +1061,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file, /* Write the data. */ oldfs = get_fs(); set_fs(KERNEL_DS); @@ -58731,7 +58730,7 @@ index 62fd661..e2a1eb7 100644 set_fs(oldfs); if (host_err < 0) goto out_nfserr; -@@ -1598,7 +1598,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp) +@@ -1607,7 +1607,7 @@ nfsd_readlink(struct svc_rqst *rqstp, struct svc_fh *fhp, char *buf, int *lenp) */ oldfs = get_fs(); set_fs(KERNEL_DS); @@ -75622,10 +75621,10 @@ index 8db53cf..c21121d 100644 int kvm_arch_vcpu_init(struct kvm_vcpu *vcpu); diff --git a/include/linux/libata.h b/include/linux/libata.h -index f33619d..d5d4e4f 100644 +index eec130a..7fef240 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h -@@ -922,7 +922,7 @@ struct ata_port_operations { +@@ -923,7 +923,7 @@ struct ata_port_operations { * fields must be pointers. */ const struct ata_port_operations *inherits; @@ -84859,7 +84858,7 @@ index 2bbd9a7..0875671 100644 if (!retval) { if (old_rlim) diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index 9edcf45..713c960 100644 +index ed6c016..fb1035a 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -93,7 +93,6 @@ @@ -84898,7 +84897,7 @@ index 9edcf45..713c960 100644 #endif /* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */ -@@ -177,10 +176,8 @@ static int proc_taint(struct ctl_table *table, int write, +@@ -182,10 +181,8 @@ static int proc_taint(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); #endif @@ -84909,7 +84908,7 @@ index 9edcf45..713c960 100644 static int proc_dointvec_minmax_coredump(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos); -@@ -211,6 +208,8 @@ static int sysrq_sysctl_handler(ctl_table *table, int write, +@@ -216,6 +213,8 @@ static int sysrq_sysctl_handler(ctl_table *table, int write, #endif @@ -84918,7 +84917,7 @@ index 9edcf45..713c960 100644 static struct ctl_table kern_table[]; static struct ctl_table vm_table[]; static struct ctl_table fs_table[]; -@@ -225,6 +224,20 @@ extern struct ctl_table epoll_table[]; +@@ -230,6 +229,20 @@ extern struct ctl_table epoll_table[]; int sysctl_legacy_va_layout; #endif @@ -84939,7 +84938,7 @@ index 9edcf45..713c960 100644 /* The default sysctl tables: */ static struct ctl_table sysctl_base_table[] = { -@@ -273,6 +286,22 @@ static int max_extfrag_threshold = 1000; +@@ -278,6 +291,22 @@ static int max_extfrag_threshold = 1000; #endif static struct ctl_table kern_table[] = { @@ -84962,7 +84961,7 @@ index 9edcf45..713c960 100644 { .procname = "sched_child_runs_first", .data = &sysctl_sched_child_runs_first, -@@ -607,7 +636,7 @@ static struct ctl_table kern_table[] = { +@@ -612,7 +641,7 @@ static struct ctl_table kern_table[] = { .data = &modprobe_path, .maxlen = KMOD_PATH_LEN, .mode = 0644, @@ -84971,7 +84970,7 @@ index 9edcf45..713c960 100644 }, { .procname = "modules_disabled", -@@ -774,16 +803,20 @@ static struct ctl_table kern_table[] = { +@@ -779,16 +808,20 @@ static struct ctl_table kern_table[] = { .extra1 = &zero, .extra2 = &one, }, @@ -84993,7 +84992,7 @@ index 9edcf45..713c960 100644 { .procname = "ngroups_max", .data = &ngroups_max, -@@ -1025,10 +1058,17 @@ static struct ctl_table kern_table[] = { +@@ -1031,10 +1064,17 @@ static struct ctl_table kern_table[] = { */ { .procname = "perf_event_paranoid", @@ -85014,7 +85013,7 @@ index 9edcf45..713c960 100644 }, { .procname = "perf_event_mlock_kb", -@@ -1282,6 +1322,13 @@ static struct ctl_table vm_table[] = { +@@ -1288,6 +1328,13 @@ static struct ctl_table vm_table[] = { .proc_handler = proc_dointvec_minmax, .extra1 = &zero, }, @@ -85028,7 +85027,7 @@ index 9edcf45..713c960 100644 #else { .procname = "nr_trim_pages", -@@ -1746,6 +1793,16 @@ int proc_dostring(struct ctl_table *table, int write, +@@ -1752,6 +1799,16 @@ int proc_dostring(struct ctl_table *table, int write, buffer, lenp, ppos); } @@ -85045,7 +85044,7 @@ index 9edcf45..713c960 100644 static size_t proc_skip_spaces(char **buf) { size_t ret; -@@ -1851,6 +1908,8 @@ static int proc_put_long(void __user **buf, size_t *size, unsigned long val, +@@ -1857,6 +1914,8 @@ static int proc_put_long(void __user **buf, size_t *size, unsigned long val, len = strlen(tmp); if (len > *size) len = *size; @@ -85054,7 +85053,7 @@ index 9edcf45..713c960 100644 if (copy_to_user(*buf, tmp, len)) return -EFAULT; *size -= len; -@@ -2015,7 +2074,7 @@ int proc_dointvec(struct ctl_table *table, int write, +@@ -2021,7 +2080,7 @@ int proc_dointvec(struct ctl_table *table, int write, static int proc_taint(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) { @@ -85063,7 +85062,7 @@ index 9edcf45..713c960 100644 unsigned long tmptaint = get_taint(); int err; -@@ -2043,7 +2102,6 @@ static int proc_taint(struct ctl_table *table, int write, +@@ -2049,7 +2108,6 @@ static int proc_taint(struct ctl_table *table, int write, return err; } @@ -85071,7 +85070,7 @@ index 9edcf45..713c960 100644 static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) { -@@ -2052,7 +2110,6 @@ static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write, +@@ -2058,7 +2116,6 @@ static int proc_dointvec_minmax_sysadmin(struct ctl_table *table, int write, return proc_dointvec_minmax(table, write, buffer, lenp, ppos); } @@ -85079,7 +85078,7 @@ index 9edcf45..713c960 100644 struct do_proc_dointvec_minmax_conv_param { int *min; -@@ -2199,8 +2256,11 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int +@@ -2205,8 +2262,11 @@ static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int *i = val; } else { val = convdiv * (*i) / convmul; @@ -85092,7 +85091,7 @@ index 9edcf45..713c960 100644 err = proc_put_long(&buffer, &left, val, false); if (err) break; -@@ -2592,6 +2652,12 @@ int proc_dostring(struct ctl_table *table, int write, +@@ -2598,6 +2658,12 @@ int proc_dostring(struct ctl_table *table, int write, return -ENOSYS; } @@ -85105,7 +85104,7 @@ index 9edcf45..713c960 100644 int proc_dointvec(struct ctl_table *table, int write, void __user *buffer, size_t *lenp, loff_t *ppos) { -@@ -2648,5 +2714,6 @@ EXPORT_SYMBOL(proc_dointvec_minmax); +@@ -2654,5 +2720,6 @@ EXPORT_SYMBOL(proc_dointvec_minmax); EXPORT_SYMBOL(proc_dointvec_userhz_jiffies); EXPORT_SYMBOL(proc_dointvec_ms_jiffies); EXPORT_SYMBOL(proc_dostring); @@ -86787,10 +86786,10 @@ index b32b70c..e512eb0 100644 set_page_address(page, (void *)vaddr); diff --git a/mm/hugetlb.c b/mm/hugetlb.c -index aa3b9a6..2ce1f3f 100644 +index 8a7f27b..89e2f00 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c -@@ -2046,15 +2046,17 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy, +@@ -2047,15 +2047,17 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy, struct hstate *h = &default_hstate; unsigned long tmp; int ret; @@ -86811,7 +86810,7 @@ index aa3b9a6..2ce1f3f 100644 if (ret) goto out; -@@ -2111,15 +2113,17 @@ int hugetlb_overcommit_handler(struct ctl_table *table, int write, +@@ -2112,15 +2114,17 @@ int hugetlb_overcommit_handler(struct ctl_table *table, int write, struct hstate *h = &default_hstate; unsigned long tmp; int ret; @@ -86832,7 +86831,7 @@ index aa3b9a6..2ce1f3f 100644 if (ret) goto out; -@@ -2569,6 +2573,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2570,6 +2574,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma, return 1; } @@ -86860,7 +86859,7 @@ index aa3b9a6..2ce1f3f 100644 /* * Hugetlb_cow() should be called with page lock of the original hugepage held. * Called with hugetlb_instantiation_mutex held and pte_page locked so we -@@ -2687,6 +2712,11 @@ retry_avoidcopy: +@@ -2688,6 +2713,11 @@ retry_avoidcopy: make_huge_pte(vma, new_page, 1)); page_remove_rmap(old_page); hugepage_add_new_anon_rmap(new_page, vma, address); @@ -86872,7 +86871,7 @@ index aa3b9a6..2ce1f3f 100644 /* Make the old page be freed below */ new_page = old_page; } -@@ -2845,6 +2875,10 @@ retry: +@@ -2846,6 +2876,10 @@ retry: && (vma->vm_flags & VM_SHARED))); set_huge_pte_at(mm, address, ptep, new_pte); @@ -86883,7 +86882,7 @@ index aa3b9a6..2ce1f3f 100644 if ((flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) { /* Optimization, do the COW without a second fault */ ret = hugetlb_cow(mm, vma, address, ptep, new_pte, page); -@@ -2874,6 +2908,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2875,6 +2909,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, static DEFINE_MUTEX(hugetlb_instantiation_mutex); struct hstate *h = hstate_vma(vma); @@ -86894,7 +86893,7 @@ index aa3b9a6..2ce1f3f 100644 address &= huge_page_mask(h); ptep = huge_pte_offset(mm, address); -@@ -2887,6 +2925,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2888,6 +2926,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma, VM_FAULT_SET_HINDEX(hstate_index(h)); } @@ -87978,7 +87977,7 @@ index a88c12f..c3c45f5 100644 err = -EPERM; goto out; diff --git a/mm/mlock.c b/mm/mlock.c -index 79b7cf7..9944291 100644 +index 713e462..f965493 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -13,6 +13,7 @@ @@ -87989,7 +87988,7 @@ index 79b7cf7..9944291 100644 #include <linux/sched.h> #include <linux/export.h> #include <linux/rmap.h> -@@ -334,7 +335,7 @@ static int do_mlock(unsigned long start, size_t len, int on) +@@ -336,7 +337,7 @@ static int do_mlock(unsigned long start, size_t len, int on) { unsigned long nstart, end, tmp; struct vm_area_struct * vma, * prev; @@ -87998,7 +87997,7 @@ index 79b7cf7..9944291 100644 VM_BUG_ON(start & ~PAGE_MASK); VM_BUG_ON(len != PAGE_ALIGN(len)); -@@ -343,6 +344,9 @@ static int do_mlock(unsigned long start, size_t len, int on) +@@ -345,6 +346,9 @@ static int do_mlock(unsigned long start, size_t len, int on) return -EINVAL; if (end == start) return 0; @@ -88008,7 +88007,7 @@ index 79b7cf7..9944291 100644 vma = find_vma(current->mm, start); if (!vma || vma->vm_start > start) return -ENOMEM; -@@ -354,6 +358,11 @@ static int do_mlock(unsigned long start, size_t len, int on) +@@ -356,6 +360,11 @@ static int do_mlock(unsigned long start, size_t len, int on) for (nstart = start ; ; ) { vm_flags_t newflags; @@ -88020,7 +88019,7 @@ index 79b7cf7..9944291 100644 /* Here we know that vma->vm_start <= nstart < vma->vm_end. */ newflags = vma->vm_flags & ~VM_LOCKED; -@@ -466,6 +475,7 @@ SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len) +@@ -468,6 +477,7 @@ SYSCALL_DEFINE2(mlock, unsigned long, start, size_t, len) lock_limit >>= PAGE_SHIFT; /* check against resource limits */ @@ -88028,7 +88027,7 @@ index 79b7cf7..9944291 100644 if ((locked <= lock_limit) || capable(CAP_IPC_LOCK)) error = do_mlock(start, len, 1); up_write(¤t->mm->mmap_sem); -@@ -500,6 +510,11 @@ static int do_mlockall(int flags) +@@ -502,6 +512,11 @@ static int do_mlockall(int flags) for (vma = current->mm->mmap; vma ; vma = prev->vm_next) { vm_flags_t newflags; @@ -88040,7 +88039,7 @@ index 79b7cf7..9944291 100644 newflags = vma->vm_flags & ~VM_LOCKED; if (flags & MCL_CURRENT) newflags |= VM_LOCKED; -@@ -532,6 +547,7 @@ SYSCALL_DEFINE1(mlockall, int, flags) +@@ -534,6 +549,7 @@ SYSCALL_DEFINE1(mlockall, int, flags) lock_limit >>= PAGE_SHIFT; ret = -ENOMEM; @@ -89949,7 +89948,7 @@ index fd26d04..0cea1b0 100644 if (!mm || IS_ERR(mm)) { rc = IS_ERR(mm) ? PTR_ERR(mm) : -ESRCH; diff --git a/mm/rmap.c b/mm/rmap.c -index 3f60774..31f4df5 100644 +index fbf0040..795492d 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -163,6 +163,10 @@ int anon_vma_prepare(struct vm_area_struct *vma) @@ -95062,10 +95061,10 @@ index 514e90f..56f22bf 100644 } diff --git a/net/mac80211/main.c b/net/mac80211/main.c -index 8a7bfc4..be07e86 100644 +index 6658c58..0b8b605 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c -@@ -181,7 +181,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed) +@@ -183,7 +183,7 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed) changed &= ~(IEEE80211_CONF_CHANGE_CHANNEL | IEEE80211_CONF_CHANGE_POWER); @@ -95074,7 +95073,7 @@ index 8a7bfc4..be07e86 100644 ret = drv_config(local, changed); /* * Goal: -@@ -921,7 +921,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) +@@ -923,7 +923,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) hw->queues = IEEE80211_MAX_QUEUES; local->workqueue = |