aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-02-25 08:39:46 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-02-25 08:39:46 +0000
commitcf87056596c166fa6fb9951fb53752cabcd974fa (patch)
treee53f13454333e212561b6d2856cc4fb0266b4a75 /main
parentab1c8dcbd6898c70ba5c4b4443931a668eaee196 (diff)
downloadaports-cf87056596c166fa6fb9951fb53752cabcd974fa.tar.bz2
aports-cf87056596c166fa6fb9951fb53752cabcd974fa.tar.xz
main/linux-grsec: upgrade to 3.10.32
Diffstat (limited to 'main')
-rw-r--r--main/linux-grsec/APKBUILD14
-rw-r--r--main/linux-grsec/grsecurity-2.9.1-3.10.32-unofficial.patch (renamed from main/linux-grsec/grsecurity-2.9.1-3.10.30-unofficial.patch)248
2 files changed, 126 insertions, 136 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD
index 27344f52c4..e5b4df8981 100644
--- a/main/linux-grsec/APKBUILD
+++ b/main/linux-grsec/APKBUILD
@@ -2,7 +2,7 @@
_flavor=grsec
pkgname=linux-${_flavor}
-pkgver=3.10.30
+pkgver=3.10.32
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=${pkgver};;
@@ -151,8 +151,8 @@ dev() {
}
md5sums="4f25cd5bec5f8d5a7d935b3f2ccb8481 linux-3.10.tar.xz
-92d1c88be148a9b3683b28902ffd055b patch-3.10.30.xz
-3a3b2ff228103088dbd14393a03c7e07 grsecurity-2.9.1-3.10.30-unofficial.patch
+f462ded4115e99d666e0b59b0f4b0f3d patch-3.10.32.xz
+f6b0288017bd360adcdeade5bc047a21 grsecurity-2.9.1-3.10.32-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
@@ -164,8 +164,8 @@ b3c0153d53e508e03d73b94d15b24a96 sysctl_lxc.patch
cb5c938dccbee36cfb8bb7ee3546b8af kernelconfig.x86
daa81b89f18254155ac33c5239abf3a4 kernelconfig.x86_64"
sha256sums="df27fa92d27a9c410bfe6c4a89f141638500d7eadcca5cce578954efc2ad3544 linux-3.10.tar.xz
-b7b928e226acc90f7e59e91f9a89ad1bb074705ef1a86b5ed8f0856a34dc6720 patch-3.10.30.xz
-455e87674f43ff7ea139e84225f29f2b6f266bc36610a992063dc1350a9abb3d grsecurity-2.9.1-3.10.30-unofficial.patch
+e05a8b9bbd475a3b85b893b447109aa5a4af3c981d4fb4e500e25e20cae9286a patch-3.10.32.xz
+fadc080d6a34a6f5819ef044da0acae307b37e8ea949fedf2d551d071bc021ee grsecurity-2.9.1-3.10.32-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
@@ -177,8 +177,8 @@ fc613ac466610b866b721c41836fd5bfb2d4b75bceb67972dc6369d7f62ff47e 0006-ipv4-use-
3e6c4101bfb90b6a30173ef81cd0d0bea51d6a995fc045ca67db7fed271d969d kernelconfig.x86
da67ef700372d080bffb12a86f0a16c987dc79e18fdfb1a88d2704660239e5f0 kernelconfig.x86_64"
sha512sums="5fb109fcbd59bf3dffc911b853894f0a84afa75151368f783a1252c5ff60c7a1504de216c0012be446df983e2dea400ad8eeed3ce04f24dc61d0ef76c174dc35 linux-3.10.tar.xz
-e925b61c462d3b880061a21b590ba7a0d06183394a9419dec32c595e67703aab99f3a7ba9570b5cb385acd8fa3b127a850bc45c06f67d1e22076346573086f86 patch-3.10.30.xz
-d9c6ccdbe0d8f516ff0c149d1b2eec3c67c184ef06ec5ace7d372dcb9c5a8c136b768badb3285a5fe7d9cb930dcf5d1877a1031ff977345d32e64ca843814911 grsecurity-2.9.1-3.10.30-unofficial.patch
+74d8f3b4930eb4138ecf2c58626667bea9d125d71a3bd7d70f963711f4cec4e2770e27214de02b07e6ae0429f472822462de475954ee603dfbff3f792278c854 patch-3.10.32.xz
+1279bb15b142bc5aabf60c32538184c073d08d76c58f3af29a298999c018a005736e1fff80a3b30183b373de3112c87eb468df4053c0a182f249139fca779b4e grsecurity-2.9.1-3.10.32-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.30-unofficial.patch b/main/linux-grsec/grsecurity-2.9.1-3.10.32-unofficial.patch
index 20f61a99ae..f88bcee193 100644
--- a/main/linux-grsec/grsecurity-2.9.1-3.10.30-unofficial.patch
+++ b/main/linux-grsec/grsecurity-2.9.1-3.10.32-unofficial.patch
@@ -281,7 +281,7 @@ index 1311a48..f233324 100644
pcd. [PARIDE]
diff --git a/Makefile b/Makefile
-index 18016a5..4afa2b4 100644
+index aab1924..1ce5370 100644
--- a/Makefile
+++ b/Makefile
@@ -241,8 +241,9 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@ -19679,7 +19679,7 @@ index ae177a0..3ab9d99 100644
if (c->x86_model == 3 && c->x86_mask == 0)
size = 64;
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
-index 22018f7..df77e23 100644
+index deeb48d..a005f5a 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -88,60 +88,6 @@ static const struct cpu_dev __cpuinitconst default_cpu = {
@@ -19743,8 +19743,8 @@ index 22018f7..df77e23 100644
static int __init x86_xsave_setup(char *s)
{
setup_clear_cpu_cap(X86_FEATURE_XSAVE);
-@@ -288,6 +234,57 @@ static __always_inline void setup_smap(struct cpuinfo_x86 *c)
- set_in_cr4(X86_CR4_SMAP);
+@@ -293,6 +239,57 @@ static __always_inline void setup_smap(struct cpuinfo_x86 *c)
+ }
}
+#ifdef CONFIG_X86_64
@@ -19801,7 +19801,7 @@ index 22018f7..df77e23 100644
/*
* Some CPU features depend on higher CPUID levels, which may not always
* be available due to CPUID level capping or broken virtualization
-@@ -386,7 +383,7 @@ void switch_to_new_gdt(int cpu)
+@@ -391,7 +388,7 @@ void switch_to_new_gdt(int cpu)
{
struct desc_ptr gdt_descr;
@@ -19810,7 +19810,7 @@ index 22018f7..df77e23 100644
gdt_descr.size = GDT_SIZE - 1;
load_gdt(&gdt_descr);
/* Reload the per-cpu base */
-@@ -874,6 +871,10 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
+@@ -879,6 +876,10 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
setup_smep(c);
setup_smap(c);
@@ -19821,7 +19821,7 @@ index 22018f7..df77e23 100644
/*
* The vendor-specific functions might have changed features.
* Now we do "generic changes."
-@@ -882,6 +883,10 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
+@@ -887,6 +888,10 @@ static void __cpuinit identify_cpu(struct cpuinfo_x86 *c)
/* Filter out anything that depends on CPUID levels we don't have */
filter_cpuid_features(c, true);
@@ -19832,7 +19832,7 @@ index 22018f7..df77e23 100644
/* If the model name is still unset, do table lookup. */
if (!c->x86_model_id[0]) {
const char *p;
-@@ -1069,10 +1074,12 @@ static __init int setup_disablecpuid(char *arg)
+@@ -1074,10 +1079,12 @@ static __init int setup_disablecpuid(char *arg)
}
__setup("clearcpuid=", setup_disablecpuid);
@@ -19847,7 +19847,7 @@ index 22018f7..df77e23 100644
DEFINE_PER_CPU_FIRST(union irq_stack_union,
irq_stack_union) __aligned(PAGE_SIZE);
-@@ -1086,7 +1093,7 @@ DEFINE_PER_CPU(struct task_struct *, current_task) ____cacheline_aligned =
+@@ -1091,7 +1098,7 @@ DEFINE_PER_CPU(struct task_struct *, current_task) ____cacheline_aligned =
EXPORT_PER_CPU_SYMBOL(current_task);
DEFINE_PER_CPU(unsigned long, kernel_stack) =
@@ -19856,7 +19856,7 @@ index 22018f7..df77e23 100644
EXPORT_PER_CPU_SYMBOL(kernel_stack);
DEFINE_PER_CPU(char *, irq_stack_ptr) =
-@@ -1231,7 +1238,7 @@ void __cpuinit cpu_init(void)
+@@ -1236,7 +1243,7 @@ void __cpuinit cpu_init(void)
load_ucode_ap();
cpu = stack_smp_processor_id();
@@ -19865,7 +19865,7 @@ index 22018f7..df77e23 100644
oist = &per_cpu(orig_ist, cpu);
#ifdef CONFIG_NUMA
-@@ -1257,7 +1264,7 @@ void __cpuinit cpu_init(void)
+@@ -1262,7 +1269,7 @@ void __cpuinit cpu_init(void)
switch_to_new_gdt(cpu);
loadsegment(fs, 0);
@@ -19874,7 +19874,7 @@ index 22018f7..df77e23 100644
memset(me->thread.tls_array, 0, GDT_ENTRY_TLS_ENTRIES * 8);
syscall_init();
-@@ -1266,7 +1273,6 @@ void __cpuinit cpu_init(void)
+@@ -1271,7 +1278,6 @@ void __cpuinit cpu_init(void)
wrmsrl(MSR_KERNEL_GS_BASE, 0);
barrier();
@@ -19882,7 +19882,7 @@ index 22018f7..df77e23 100644
enable_x2apic();
/*
-@@ -1318,7 +1324,7 @@ void __cpuinit cpu_init(void)
+@@ -1323,7 +1329,7 @@ void __cpuinit cpu_init(void)
{
int cpu = smp_processor_id();
struct task_struct *curr = current;
@@ -22749,10 +22749,10 @@ index 7ac938a..d4be3b6 100644
/*
* End of kprobes section
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
-index d4bdd25..912664c 100644
+index e625319..b9abb9d 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
-@@ -105,6 +105,8 @@ ftrace_modify_code_direct(unsigned long ip, unsigned const char *old_code,
+@@ -104,6 +104,8 @@ ftrace_modify_code_direct(unsigned long ip, unsigned const char *old_code,
{
unsigned char replaced[MCOUNT_INSN_SIZE];
@@ -22761,25 +22761,16 @@ index d4bdd25..912664c 100644
/*
* Note: Due to modules and __init, code can
* disappear and change, we need to protect against faulting
-@@ -227,7 +229,7 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
- unsigned char old[MCOUNT_INSN_SIZE], *new;
+@@ -229,7 +231,7 @@ static int update_ftrace_func(unsigned long ip, void *new)
+ unsigned char old[MCOUNT_INSN_SIZE];
int ret;
-- memcpy(old, &ftrace_call, MCOUNT_INSN_SIZE);
-+ memcpy(old, (void *)ktla_ktva((unsigned long)ftrace_call), MCOUNT_INSN_SIZE);
- new = ftrace_call_replace(ip, (unsigned long)func);
+- memcpy(old, (void *)ip, MCOUNT_INSN_SIZE);
++ memcpy(old, (void *)ktla_ktva(ip), MCOUNT_INSN_SIZE);
- /* See comment above by declaration of modifying_ftrace_code */
-@@ -238,7 +240,7 @@ int ftrace_update_ftrace_func(ftrace_func_t func)
- /* Also update the regs callback function */
- if (!ret) {
- ip = (unsigned long)(&ftrace_regs_call);
-- memcpy(old, &ftrace_regs_call, MCOUNT_INSN_SIZE);
-+ memcpy(old, ktla_ktva((void *)&ftrace_regs_call), MCOUNT_INSN_SIZE);
- new = ftrace_call_replace(ip, (unsigned long)func);
- ret = ftrace_modify_code(ip, old, new);
- }
-@@ -291,7 +293,7 @@ static int ftrace_write(unsigned long ip, const char *val, int size)
+ ftrace_update_func = ip;
+ /* Make sure the breakpoints see the ftrace_update_func update */
+@@ -306,7 +308,7 @@ static int ftrace_write(unsigned long ip, const char *val, int size)
* kernel identity mapping to modify code.
*/
if (within(ip, (unsigned long)_text, (unsigned long)_etext))
@@ -22788,7 +22779,7 @@ index d4bdd25..912664c 100644
return probe_kernel_write((void *)ip, val, size);
}
-@@ -301,7 +303,7 @@ static int add_break(unsigned long ip, const char *old)
+@@ -316,7 +318,7 @@ static int add_break(unsigned long ip, const char *old)
unsigned char replaced[MCOUNT_INSN_SIZE];
unsigned char brk = BREAKPOINT_INSTRUCTION;
@@ -22797,7 +22788,7 @@ index d4bdd25..912664c 100644
return -EFAULT;
/* Make sure it is what we expect it to be */
-@@ -649,7 +651,7 @@ ftrace_modify_code(unsigned long ip, unsigned const char *old_code,
+@@ -664,7 +666,7 @@ ftrace_modify_code(unsigned long ip, unsigned const char *old_code,
return ret;
fail_update:
@@ -22806,15 +22797,6 @@ index d4bdd25..912664c 100644
goto out;
}
-@@ -682,6 +684,8 @@ static int ftrace_mod_jmp(unsigned long ip,
- {
- unsigned char code[MCOUNT_INSN_SIZE];
-
-+ ip = ktla_ktva(ip);
-+
- if (probe_kernel_read(code, (void *)ip, MCOUNT_INSN_SIZE))
- return -EFAULT;
-
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c
index 55b6761..a6456fc 100644
--- a/arch/x86/kernel/head64.c
@@ -30173,7 +30155,7 @@ index 903ec1e..c4166b2 100644
}
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
-index 654be4a..a4a3da1 100644
+index c1e9e4c..ffd07ad 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -14,11 +14,18 @@
@@ -30536,7 +30518,7 @@ index 654be4a..a4a3da1 100644
if (error_code & PF_WRITE) {
/* write, present and write, not present: */
if (unlikely(!(vma->vm_flags & VM_WRITE)))
-@@ -992,7 +1200,7 @@ static inline bool smap_violation(int error_code, struct pt_regs *regs)
+@@ -998,7 +1206,7 @@ static inline bool smap_violation(int error_code, struct pt_regs *regs)
if (error_code & PF_USER)
return false;
@@ -30545,7 +30527,7 @@ index 654be4a..a4a3da1 100644
return false;
return true;
-@@ -1008,19 +1216,34 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1014,19 +1222,34 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
{
struct vm_area_struct *vma;
struct task_struct *tsk;
@@ -30584,7 +30566,7 @@ index 654be4a..a4a3da1 100644
/*
* Detect and handle instructions that would cause a page fault for
* both a tracked kernel page and a userspace page.
-@@ -1080,7 +1303,7 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1086,7 +1309,7 @@ __do_page_fault(struct pt_regs *regs, unsigned long error_code)
* User-mode registers count as a user access even for any
* potential system fault or CPU buglet:
*/
@@ -30593,7 +30575,7 @@ index 654be4a..a4a3da1 100644
local_irq_enable();
error_code |= PF_USER;
} else {
-@@ -1142,6 +1365,11 @@ retry:
+@@ -1146,6 +1369,11 @@ retry:
might_sleep();
}
@@ -30605,7 +30587,7 @@ index 654be4a..a4a3da1 100644
vma = find_vma(mm, address);
if (unlikely(!vma)) {
bad_area(regs, error_code, address);
-@@ -1153,18 +1381,24 @@ retry:
+@@ -1157,18 +1385,24 @@ retry:
bad_area(regs, error_code, address);
return;
}
@@ -30641,7 +30623,7 @@ index 654be4a..a4a3da1 100644
if (unlikely(expand_stack(vma, address))) {
bad_area(regs, error_code, address);
return;
-@@ -1230,3 +1464,292 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
+@@ -1234,3 +1468,292 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code)
__do_page_fault(regs, error_code);
exception_exit(prev_state);
}
@@ -34480,22 +34462,30 @@ index fdc3ba2..3daee39 100644
.alloc_pud = xen_alloc_pmd_init,
.release_pud = xen_release_pmd_init,
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
-index a1e58e1..9392ad8 100644
+index 570c9a5..a9dc9d5 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
-@@ -240,11 +240,6 @@ static void __init xen_smp_prepare_boot_cpu(void)
- {
+@@ -241,17 +241,13 @@ static void __init xen_smp_prepare_boot_cpu(void)
BUG_ON(smp_processor_id() != 0);
native_smp_prepare_boot_cpu();
--
+
- /* We've switched to the "real" per-cpu gdt, so make sure the
- old memory can be recycled */
- make_lowmem_page_readwrite(xen_initial_gdt);
-
+ #ifdef CONFIG_X86_32
+ /*
+ * Xen starts us with XEN_FLAT_RING1_DS, but linux code
+ * expects __USER_DS
+ */
+- loadsegment(ds, __USER_DS);
+- loadsegment(es, __USER_DS);
++ loadsegment(ds, __KERNEL_DS);
++ loadsegment(es, __KERNEL_DS);
+ #endif
+
xen_filter_cpu_maps();
- xen_setup_vcpu_info_placement();
- }
-@@ -314,7 +309,7 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
+@@ -323,7 +319,7 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
ctxt->user_regs.ss = __KERNEL_DS;
#ifdef CONFIG_X86_32
ctxt->user_regs.fs = __KERNEL_PERCPU;
@@ -34504,7 +34494,7 @@ index a1e58e1..9392ad8 100644
#else
ctxt->gs_base_kernel = per_cpu_offset(cpu);
#endif
-@@ -324,8 +319,8 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
+@@ -333,8 +329,8 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
{
ctxt->user_regs.eflags = 0x1000; /* IOPL_RING1 */
@@ -34515,7 +34505,7 @@ index a1e58e1..9392ad8 100644
xen_copy_trap_info(ctxt->trap_ctxt);
-@@ -370,13 +365,12 @@ static int __cpuinit xen_cpu_up(unsigned int cpu, struct task_struct *idle)
+@@ -379,13 +375,12 @@ static int __cpuinit xen_cpu_up(unsigned int cpu, struct task_struct *idle)
int rc;
per_cpu(current_task, cpu) = idle;
@@ -34531,7 +34521,7 @@ index a1e58e1..9392ad8 100644
#endif
xen_setup_runstate_info(cpu);
xen_setup_timer(cpu);
-@@ -651,7 +645,7 @@ static const struct smp_ops xen_smp_ops __initconst = {
+@@ -660,7 +655,7 @@ static const struct smp_ops xen_smp_ops __initconst = {
void __init xen_smp_init(void)
{
@@ -38072,10 +38062,10 @@ index 211021d..201d47f 100644
EXPORT_SYMBOL_GPL(edac_device_alloc_index);
diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c
-index c4d700a..0b57abd 100644
+index 88cd940..fa6db4b 100644
--- a/drivers/edac/edac_mc_sysfs.c
+++ b/drivers/edac/edac_mc_sysfs.c
-@@ -148,7 +148,7 @@ static const char * const edac_caps[] = {
+@@ -152,7 +152,7 @@ static const char * const edac_caps[] = {
struct dev_ch_attribute {
struct device_attribute attr;
int channel;
@@ -38084,7 +38074,7 @@ index c4d700a..0b57abd 100644
#define DEVICE_CHANNEL(_name, _mode, _show, _store, _var) \
struct dev_ch_attribute dev_attr_legacy_##_name = \
-@@ -1005,14 +1005,16 @@ int edac_create_sysfs_mci_device(struct mem_ctl_info *mci)
+@@ -1009,14 +1009,16 @@ int edac_create_sysfs_mci_device(struct mem_ctl_info *mci)
}
if (mci->set_sdram_scrub_rate || mci->get_sdram_scrub_rate) {
@@ -42240,7 +42230,7 @@ index 3e6d115..ffecdeb 100644
/*----------------------------------------------------------------*/
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
-index afaa5d4..c139824 100644
+index e73740b..b0166b2 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1823,7 +1823,7 @@ static int fix_sync_read_error(struct r1bio *r1_bio)
@@ -42252,7 +42242,7 @@ index afaa5d4..c139824 100644
}
sectors -= s;
sect += s;
-@@ -2050,7 +2050,7 @@ static void fix_read_error(struct r1conf *conf, int read_disk,
+@@ -2057,7 +2057,7 @@ static void fix_read_error(struct r1conf *conf, int read_disk,
test_bit(In_sync, &rdev->flags)) {
if (r1_sync_page_io(rdev, sect, s,
conf->tmppage, READ)) {
@@ -42325,7 +42315,7 @@ index d2f8cd332..a1b40c6d 100644
rdev_dec_pending(rdev, mddev);
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
-index 740e3f4..dcdc9e9 100644
+index 5e3c25d..437cfdc 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -1776,21 +1776,21 @@ static void raid5_end_read_request(struct bio * bi, int error)
@@ -46841,10 +46831,10 @@ index df5e961..df6b97f 100644
return blk_trace_startstop(sdp->device->request_queue, 1);
case BLKTRACESTOP:
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
-index ca99ac9..8daddf1 100644
+index 32b7bb1..2f1c4bd 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -1633,7 +1633,7 @@ int spi_bus_unlock(struct spi_master *master)
+@@ -1631,7 +1631,7 @@ int spi_bus_unlock(struct spi_master *master)
EXPORT_SYMBOL_GPL(spi_bus_unlock);
/* portable code must never pass more than 32 bytes */
@@ -47589,10 +47579,10 @@ index 1deaca4..c8582d4 100644
tty_port_tty_set(&ch->port, tty);
mutex_lock(&ch->port.mutex);
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
-index 6422390..49003ac 100644
+index 3ee7217..6b90150 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
-@@ -1632,7 +1632,7 @@ static struct gsm_dlci *gsm_dlci_alloc(struct gsm_mux *gsm, int addr)
+@@ -1643,7 +1643,7 @@ static struct gsm_dlci *gsm_dlci_alloc(struct gsm_mux *gsm, int addr)
spin_lock_init(&dlci->lock);
mutex_init(&dlci->mutex);
dlci->fifo = &dlci->_fifo;
@@ -47601,7 +47591,7 @@ index 6422390..49003ac 100644
kfree(dlci);
return NULL;
}
-@@ -2932,7 +2932,7 @@ static int gsmtty_open(struct tty_struct *tty, struct file *filp)
+@@ -2943,7 +2943,7 @@ static int gsmtty_open(struct tty_struct *tty, struct file *filp)
struct gsm_dlci *dlci = tty->driver_data;
struct tty_port *port = &dlci->port;
@@ -48716,10 +48706,10 @@ index 2a3bbdf..91d72cf 100644
file->f_version = event_count;
return POLLIN | POLLRDNORM;
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
-index d3aa353..0e284af 100644
+index d53547d..6a22d02 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
-@@ -1527,7 +1527,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
+@@ -1526,7 +1526,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
*/
usb_get_urb(urb);
atomic_inc(&urb->use_count);
@@ -48728,7 +48718,7 @@ index d3aa353..0e284af 100644
usbmon_urb_submit(&hcd->self, urb);
/* NOTE requirements on root-hub callers (usbfs and the hub
-@@ -1554,7 +1554,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
+@@ -1553,7 +1553,7 @@ int usb_hcd_submit_urb (struct urb *urb, gfp_t mem_flags)
urb->hcpriv = NULL;
INIT_LIST_HEAD(&urb->urb_list);
atomic_dec(&urb->use_count);
@@ -48738,7 +48728,7 @@ index d3aa353..0e284af 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 e604645..d285532 100644
+index 3a2eb4c..2ee6cb9 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -27,6 +27,7 @@
@@ -48749,7 +48739,7 @@ index e604645..d285532 100644
#include <asm/uaccess.h>
#include <asm/byteorder.h>
-@@ -4414,6 +4415,10 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
+@@ -4409,6 +4410,10 @@ static void hub_port_connect_change(struct usb_hub *hub, int port1,
goto done;
return;
}
@@ -53918,10 +53908,10 @@ index f0857e0..e7023c5 100644
}
/*
diff --git a/fs/buffer.c b/fs/buffer.c
-index d2a4d1b..df798ca 100644
+index 75964d7..4c87e04 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
-@@ -3367,7 +3367,7 @@ void __init buffer_init(void)
+@@ -3369,7 +3369,7 @@ void __init buffer_init(void)
bh_cachep = kmem_cache_create("buffer_head",
sizeof(struct buffer_head), 0,
(SLAB_RECLAIM_ACCOUNT|SLAB_PANIC|
@@ -54197,10 +54187,10 @@ index 3752b9f..8db5569 100644
atomic_set(&midCount, 0);
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
-index ea3a0b3..0194e39 100644
+index e2c2d96..46e2407 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
-@@ -752,35 +752,35 @@ struct cifs_tcon {
+@@ -762,35 +762,35 @@ struct cifs_tcon {
__u16 Flags; /* optional support bits */
enum statusEnum tidStatus;
#ifdef CONFIG_CIFS_STATS
@@ -54260,7 +54250,7 @@ index ea3a0b3..0194e39 100644
} smb2_stats;
#endif /* CONFIG_CIFS_SMB2 */
} stats;
-@@ -1081,7 +1081,7 @@ convert_delimiter(char *path, char delim)
+@@ -1091,7 +1091,7 @@ convert_delimiter(char *path, char delim)
}
#ifdef CONFIG_CIFS_STATS
@@ -54269,7 +54259,7 @@ index ea3a0b3..0194e39 100644
static inline void cifs_stats_bytes_written(struct cifs_tcon *tcon,
unsigned int bytes)
-@@ -1446,8 +1446,8 @@ GLOBAL_EXTERN atomic_t tconInfoReconnectCount;
+@@ -1456,8 +1456,8 @@ GLOBAL_EXTERN atomic_t tconInfoReconnectCount;
/* Various Debug counters */
GLOBAL_EXTERN atomic_t bufAllocCount; /* current number allocated */
#ifdef CONFIG_CIFS_STATS2
@@ -54316,7 +54306,7 @@ index 1bec014..f329411 100644
}
diff --git a/fs/cifs/smb1ops.c b/fs/cifs/smb1ops.c
-index 3efdb9d..e845a5e 100644
+index 4885a40..41ada38 100644
--- a/fs/cifs/smb1ops.c
+++ b/fs/cifs/smb1ops.c
@@ -591,27 +591,27 @@ static void
@@ -56083,7 +56073,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 9de2026..50b7c88 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -16,6 +16,7 @@
@@ -73199,7 +73189,7 @@ index df70600..c8eecb0 100644
asmlinkage long compat_sys_lookup_dcookie(u32, u32, char __user *, compat_size_t);
/*
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
-index ded4299..da50e3b 100644
+index 2507fd2..bd1d67a 100644
--- a/include/linux/compiler-gcc4.h
+++ b/include/linux/compiler-gcc4.h
@@ -39,9 +39,29 @@
@@ -85460,7 +85450,7 @@ index 4b93b84..01e8c5b 100644
ftrace_graph_active++;
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c
-index e444ff8..438b8f4 100644
+index fd12cc5..aa2f6e0 100644
--- a/kernel/trace/ring_buffer.c
+++ b/kernel/trace/ring_buffer.c
@@ -352,9 +352,9 @@ struct buffer_data_page {
@@ -85595,7 +85585,7 @@ index e444ff8..438b8f4 100644
/* set write to only the index of the write */
write &= RB_WRITE_MASK;
-@@ -2407,7 +2407,7 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2414,7 +2414,7 @@ __rb_reserve_next(struct ring_buffer_per_cpu *cpu_buffer,
kmemcheck_annotate_bitfield(event, bitfield);
rb_update_event(cpu_buffer, event, length, add_timestamp, delta);
@@ -85604,7 +85594,7 @@ index e444ff8..438b8f4 100644
/*
* If this is the first commit on the page, then update
-@@ -2440,7 +2440,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2447,7 +2447,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
if (bpage->page == (void *)addr && rb_page_write(bpage) == old_index) {
unsigned long write_mask =
@@ -85613,7 +85603,7 @@ index e444ff8..438b8f4 100644
unsigned long event_length = rb_event_length(event);
/*
* This is on the tail page. It is possible that
-@@ -2450,7 +2450,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2457,7 +2457,7 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,
*/
old_index += write_mask;
new_index += write_mask;
@@ -85622,7 +85612,7 @@ index e444ff8..438b8f4 100644
if (index == old_index) {
/* update counters */
local_sub(event_length, &cpu_buffer->entries_bytes);
-@@ -2842,7 +2842,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2849,7 +2849,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
/* Do the likely case first */
if (likely(bpage->page == (void *)addr)) {
@@ -85631,7 +85621,7 @@ index e444ff8..438b8f4 100644
return;
}
-@@ -2854,7 +2854,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
+@@ -2861,7 +2861,7 @@ rb_decrement_entry(struct ring_buffer_per_cpu *cpu_buffer,
start = bpage;
do {
if (bpage->page == (void *)addr) {
@@ -85640,7 +85630,7 @@ index e444ff8..438b8f4 100644
return;
}
rb_inc_page(cpu_buffer, &bpage);
-@@ -3138,7 +3138,7 @@ static inline unsigned long
+@@ -3145,7 +3145,7 @@ static inline unsigned long
rb_num_of_entries(struct ring_buffer_per_cpu *cpu_buffer)
{
return local_read(&cpu_buffer->entries) -
@@ -85649,7 +85639,7 @@ index e444ff8..438b8f4 100644
}
/**
-@@ -3227,7 +3227,7 @@ unsigned long ring_buffer_overrun_cpu(struct ring_buffer *buffer, int cpu)
+@@ -3234,7 +3234,7 @@ unsigned long ring_buffer_overrun_cpu(struct ring_buffer *buffer, int cpu)
return 0;
cpu_buffer = buffer->buffers[cpu];
@@ -85658,7 +85648,7 @@ index e444ff8..438b8f4 100644
return ret;
}
-@@ -3250,7 +3250,7 @@ ring_buffer_commit_overrun_cpu(struct ring_buffer *buffer, int cpu)
+@@ -3257,7 +3257,7 @@ ring_buffer_commit_overrun_cpu(struct ring_buffer *buffer, int cpu)
return 0;
cpu_buffer = buffer->buffers[cpu];
@@ -85667,7 +85657,7 @@ index e444ff8..438b8f4 100644
return ret;
}
-@@ -3335,7 +3335,7 @@ unsigned long ring_buffer_overruns(struct ring_buffer *buffer)
+@@ -3342,7 +3342,7 @@ unsigned long ring_buffer_overruns(struct ring_buffer *buffer)
/* if you care about this being correct, lock the buffer */
for_each_buffer_cpu(buffer, cpu) {
cpu_buffer = buffer->buffers[cpu];
@@ -85676,7 +85666,7 @@ index e444ff8..438b8f4 100644
}
return overruns;
-@@ -3511,8 +3511,8 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -3518,8 +3518,8 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
/*
* Reset the reader page to size zero.
*/
@@ -85687,7 +85677,7 @@ index e444ff8..438b8f4 100644
local_set(&cpu_buffer->reader_page->page->commit, 0);
cpu_buffer->reader_page->real_end = 0;
-@@ -3546,7 +3546,7 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -3553,7 +3553,7 @@ rb_get_reader_page(struct ring_buffer_per_cpu *cpu_buffer)
* want to compare with the last_overrun.
*/
smp_mb();
@@ -85696,7 +85686,7 @@ index e444ff8..438b8f4 100644
/*
* Here's the tricky part.
-@@ -4116,8 +4116,8 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -4123,8 +4123,8 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
cpu_buffer->head_page
= list_entry(cpu_buffer->pages, struct buffer_page, list);
@@ -85707,7 +85697,7 @@ index e444ff8..438b8f4 100644
local_set(&cpu_buffer->head_page->page->commit, 0);
cpu_buffer->head_page->read = 0;
-@@ -4127,14 +4127,14 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
+@@ -4134,14 +4134,14 @@ rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer)
INIT_LIST_HEAD(&cpu_buffer->reader_page->list);
INIT_LIST_HEAD(&cpu_buffer->new_pages);
@@ -85726,7 +85716,7 @@ index e444ff8..438b8f4 100644
local_set(&cpu_buffer->dropped_events, 0);
local_set(&cpu_buffer->entries, 0);
local_set(&cpu_buffer->committing, 0);
-@@ -4538,8 +4538,8 @@ int ring_buffer_read_page(struct ring_buffer *buffer,
+@@ -4545,8 +4545,8 @@ int ring_buffer_read_page(struct ring_buffer *buffer,
rb_init_page(bpage);
bpage = reader->page;
reader->page = *data_page;
@@ -86061,10 +86051,10 @@ index 74fdc5c..3310593 100644
This option lets you use the FireWire bus for remote debugging
with help of the firewire-ohci driver. It enables unfiltered
diff --git a/lib/Makefile b/lib/Makefile
-index c55a037..fb46e3b 100644
+index 9efe480..a9c5604 100644
--- a/lib/Makefile
+++ b/lib/Makefile
-@@ -50,7 +50,7 @@ obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o
+@@ -51,7 +51,7 @@ obj-$(CONFIG_GENERIC_HWEIGHT) += hweight.o
obj-$(CONFIG_BTREE) += btree.o
obj-$(CONFIG_DEBUG_PREEMPT) += smp_processor_id.o
@@ -86805,10 +86795,10 @@ index b32b70c..e512eb0 100644
set_page_address(page, (void *)vaddr);
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
-index 40ad2c6..e8db7fe 100644
+index aa3b9a6..2ce1f3f 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
-@@ -2039,15 +2039,17 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy,
+@@ -2046,15 +2046,17 @@ static int hugetlb_sysctl_handler_common(bool obey_mempolicy,
struct hstate *h = &default_hstate;
unsigned long tmp;
int ret;
@@ -86829,7 +86819,7 @@ index 40ad2c6..e8db7fe 100644
if (ret)
goto out;
-@@ -2104,15 +2106,17 @@ int hugetlb_overcommit_handler(struct ctl_table *table, int write,
+@@ -2111,15 +2113,17 @@ int hugetlb_overcommit_handler(struct ctl_table *table, int write,
struct hstate *h = &default_hstate;
unsigned long tmp;
int ret;
@@ -86850,7 +86840,7 @@ index 40ad2c6..e8db7fe 100644
if (ret)
goto out;
-@@ -2562,6 +2566,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2569,6 +2573,27 @@ static int unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
return 1;
}
@@ -86878,7 +86868,7 @@ index 40ad2c6..e8db7fe 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
-@@ -2680,6 +2705,11 @@ retry_avoidcopy:
+@@ -2687,6 +2712,11 @@ retry_avoidcopy:
make_huge_pte(vma, new_page, 1));
page_remove_rmap(old_page);
hugepage_add_new_anon_rmap(new_page, vma, address);
@@ -86890,7 +86880,7 @@ index 40ad2c6..e8db7fe 100644
/* Make the old page be freed below */
new_page = old_page;
}
-@@ -2838,6 +2868,10 @@ retry:
+@@ -2845,6 +2875,10 @@ retry:
&& (vma->vm_flags & VM_SHARED)));
set_huge_pte_at(mm, address, ptep, new_pte);
@@ -86901,7 +86891,7 @@ index 40ad2c6..e8db7fe 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);
-@@ -2867,6 +2901,10 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2874,6 +2908,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);
@@ -86912,7 +86902,7 @@ index 40ad2c6..e8db7fe 100644
address &= huge_page_mask(h);
ptep = huge_pte_offset(mm, address);
-@@ -2880,6 +2918,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2887,6 +2925,26 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
VM_FAULT_SET_HINDEX(hstate_index(h));
}
@@ -87085,7 +87075,7 @@ index 7055883..aafb1ed 100644
if (end == start)
return error;
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
-index 3b4120e..c669912 100644
+index e386bee..2a8fe2c 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -61,7 +61,7 @@ int sysctl_memory_failure_early_kill __read_mostly = 0;
@@ -87115,7 +87105,7 @@ index 3b4120e..c669912 100644
{ reserved, reserved, "reserved kernel", me_kernel },
/*
* free pages are specially detected outside this table:
-@@ -1058,7 +1058,7 @@ int memory_failure(unsigned long pfn, int trapno, int flags)
+@@ -1060,7 +1060,7 @@ int memory_failure(unsigned long pfn, int trapno, int flags)
nr_pages = 1 << compound_order(hpage);
else /* normal page or thp */
nr_pages = 1;
@@ -87124,7 +87114,7 @@ index 3b4120e..c669912 100644
/*
* We need/can do nothing about count=0 pages.
-@@ -1088,7 +1088,7 @@ int memory_failure(unsigned long pfn, int trapno, int flags)
+@@ -1090,7 +1090,7 @@ int memory_failure(unsigned long pfn, int trapno, int flags)
if (!PageHWPoison(hpage)
|| (hwpoison_filter(p) && TestClearPageHWPoison(p))
|| (p != hpage && TestSetPageHWPoison(hpage))) {
@@ -87133,7 +87123,7 @@ index 3b4120e..c669912 100644
return 0;
}
set_page_hwpoison_huge_page(hpage);
-@@ -1155,7 +1155,7 @@ int memory_failure(unsigned long pfn, int trapno, int flags)
+@@ -1157,7 +1157,7 @@ int memory_failure(unsigned long pfn, int trapno, int flags)
}
if (hwpoison_filter(p)) {
if (TestClearPageHWPoison(p))
@@ -87142,7 +87132,7 @@ index 3b4120e..c669912 100644
unlock_page(hpage);
put_page(hpage);
return 0;
-@@ -1361,7 +1361,7 @@ int unpoison_memory(unsigned long pfn)
+@@ -1363,7 +1363,7 @@ int unpoison_memory(unsigned long pfn)
return 0;
}
if (TestClearPageHWPoison(p))
@@ -87151,7 +87141,7 @@ index 3b4120e..c669912 100644
pr_info("MCE: Software-unpoisoned free page %#lx\n", pfn);
return 0;
}
-@@ -1375,7 +1375,7 @@ int unpoison_memory(unsigned long pfn)
+@@ -1377,7 +1377,7 @@ int unpoison_memory(unsigned long pfn)
*/
if (TestClearPageHWPoison(page)) {
pr_info("MCE: Software-unpoisoned page %#lx\n", pfn);
@@ -87160,7 +87150,7 @@ index 3b4120e..c669912 100644
freeit = 1;
if (PageHuge(page))
clear_page_hwpoison_huge_page(page);
-@@ -1504,11 +1504,11 @@ static int soft_offline_huge_page(struct page *page, int flags)
+@@ -1506,11 +1506,11 @@ static int soft_offline_huge_page(struct page *page, int flags)
if (PageHuge(page)) {
set_page_hwpoison_huge_page(hpage);
dequeue_hwpoisoned_huge_page(hpage);
@@ -87173,8 +87163,8 @@ index 3b4120e..c669912 100644
+ atomic_long_inc_unchecked(&num_poisoned_pages);
}
}
- /* keep elevated page count for bad page */
-@@ -1569,11 +1569,11 @@ int soft_offline_page(struct page *page, int flags)
+ return ret;
+@@ -1570,11 +1570,11 @@ int soft_offline_page(struct page *page, int flags)
if (PageHuge(page)) {
set_page_hwpoison_huge_page(hpage);
dequeue_hwpoisoned_huge_page(hpage);
@@ -87187,8 +87177,8 @@ index 3b4120e..c669912 100644
+ atomic_long_inc_unchecked(&num_poisoned_pages);
}
}
- /* keep elevated page count for bad page */
-@@ -1613,7 +1613,7 @@ static int __soft_offline_page(struct page *page, int flags)
+ unset_migratetype_isolate(page, MIGRATE_MOVABLE);
+@@ -1614,7 +1614,7 @@ static int __soft_offline_page(struct page *page, int flags)
put_page(page);
pr_info("soft_offline: %#lx: invalidated\n", pfn);
SetPageHWPoison(page);
@@ -87197,10 +87187,10 @@ index 3b4120e..c669912 100644
return 0;
}
-@@ -1643,7 +1643,7 @@ static int __soft_offline_page(struct page *page, int flags)
- ret = -EIO;
- } else {
- SetPageHWPoison(page);
+@@ -1659,7 +1659,7 @@ static int __soft_offline_page(struct page *page, int flags)
+ if (!is_free_buddy_page(page))
+ pr_info("soft offline: %#lx: page leaked\n",
+ pfn);
- atomic_long_inc(&num_poisoned_pages);
+ atomic_long_inc_unchecked(&num_poisoned_pages);
}
@@ -89772,7 +89762,7 @@ index 298884d..5f74980 100644
struct mm_struct *mm;
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
-index 5a06d4c..6a0842f 100644
+index 73cbc5d..a278f9d 100644
--- a/mm/page-writeback.c
+++ b/mm/page-writeback.c
@@ -654,7 +654,7 @@ unsigned long bdi_dirty_limit(struct backing_dev_info *bdi, unsigned long dirty)
@@ -94950,7 +94940,7 @@ index 66f51c5..8f0eef1 100644
return res;
}
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
-index 18687f1..9c492c6 100644
+index e922bf3..5682c8b 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -806,7 +806,7 @@ static int ieee80211_set_monitor_channel(struct wiphy *wiphy,
@@ -94962,7 +94952,7 @@ index 18687f1..9c492c6 100644
local->_oper_chandef = *chandef;
ieee80211_hw_config(local, 0);
}
-@@ -2921,7 +2921,7 @@ static void ieee80211_mgmt_frame_register(struct wiphy *wiphy,
+@@ -2924,7 +2924,7 @@ static void ieee80211_mgmt_frame_register(struct wiphy *wiphy,
else
local->probe_req_reg--;
@@ -94971,7 +94961,7 @@ index 18687f1..9c492c6 100644
break;
ieee80211_queue_work(&local->hw, &local->reconfig_filter);
-@@ -3384,8 +3384,8 @@ static int ieee80211_cfg_get_channel(struct wiphy *wiphy,
+@@ -3387,8 +3387,8 @@ static int ieee80211_cfg_get_channel(struct wiphy *wiphy,
if (chanctx_conf) {
*chandef = chanctx_conf->def;
ret = 0;
@@ -97996,7 +97986,7 @@ index 32b10f5..d482a0d 100644
kallsymso=""
kallsyms_vmlinux=""
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
-index 45f9a33..e4194b3 100644
+index 4319a38..cd2f3f8 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -140,7 +140,7 @@ static void device_id_check(const char *modname, const char *device_id,