aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-05-14 07:42:01 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-05-14 07:42:01 +0000
commit22279467010358611c5d36571cf96a502d700af5 (patch)
tree7c895129daf8f3e6e3658c35275ca3668a5486c5
parent8c4222d258f87b787f1a32675b8126db52249377 (diff)
downloadaports-22279467010358611c5d36571cf96a502d700af5.tar.bz2
aports-22279467010358611c5d36571cf96a502d700af5.tar.xz
mian/linux-grsec: upgrade to 3.14.4
-rw-r--r--main/linux-grsec/APKBUILD14
-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(&current->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 =