summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2017-03-25 13:57:35 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2017-03-25 13:57:59 +0100
commitd85ce9ab94cf1ee5950d3b5f0dd63b6e4bf555b8 (patch)
treef8e126de7c862cdf0a797802d8acbd3fa9e591bf
parent1ad23bb58b7a5f3ad82cd21955d8632c2991c6c2 (diff)
linux: update to 4.4.56
-rw-r--r--mk/kernel-ver.mk4
-rw-r--r--target/config/Config.in.kernelversion2
-rw-r--r--target/linux/patches/4.4.56/coldfire-sighandler.patch (renamed from target/linux/patches/4.4.50/coldfire-sighandler.patch)0
-rw-r--r--target/linux/patches/4.4.56/crisv32.patch (renamed from target/linux/patches/4.4.50/crisv32.patch)0
-rw-r--r--target/linux/patches/4.4.56/crisv32_ethernet_driver.patch (renamed from target/linux/patches/4.4.50/crisv32_ethernet_driver.patch)0
-rw-r--r--target/linux/patches/4.4.56/initramfs-nosizelimit.patch (renamed from target/linux/patches/4.4.50/initramfs-nosizelimit.patch)0
-rw-r--r--target/linux/patches/4.4.56/ld-or1k.patch (renamed from target/linux/patches/4.4.50/ld-or1k.patch)0
-rw-r--r--target/linux/patches/4.4.56/macsonic.patch (renamed from target/linux/patches/4.4.50/macsonic.patch)0
-rw-r--r--target/linux/patches/4.4.56/mips-xz.patch (renamed from target/linux/patches/4.4.50/mips-xz.patch)0
-rw-r--r--target/linux/patches/4.4.56/patch-realtime (renamed from target/linux/patches/4.4.50/patch-realtime)3458
-rw-r--r--target/linux/patches/4.4.56/startup.patch (renamed from target/linux/patches/4.4.50/startup.patch)0
-rw-r--r--target/linux/patches/4.4.56/use-libgcc-for-sh.patch (renamed from target/linux/patches/4.4.50/use-libgcc-for-sh.patch)0
-rw-r--r--target/linux/patches/4.4.56/versatile-nommu.patch (renamed from target/linux/patches/4.4.50/versatile-nommu.patch)0
13 files changed, 2161 insertions, 1303 deletions
diff --git a/mk/kernel-ver.mk b/mk/kernel-ver.mk
index cd3960a0e..4b04654bb 100644
--- a/mk/kernel-ver.mk
+++ b/mk/kernel-ver.mk
@@ -28,10 +28,10 @@ KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
KERNEL_HASH:= e158f3c69da87c2ec28d0f194dbe18b05e0d0b9e1142566615cea3390bab1c6a
endif
ifeq ($(ADK_TARGET_KERNEL_VERSION_4_4),y)
-KERNEL_FILE_VER:= 4.4.50
+KERNEL_FILE_VER:= 4.4.56
KERNEL_RELEASE:= 1
KERNEL_VERSION:= $(KERNEL_FILE_VER)-$(KERNEL_RELEASE)
-KERNEL_HASH:= e4944ca5bb0bdf63a7e97dc7fbdd38bcc820d8b3b57c4a3a7b3bf9c8a48216b7
+KERNEL_HASH:= 55181e24869e4b550ef756eecd1ab4f6774228c457f4830e9e779c6db4c2a2b6
endif
ifeq ($(ADK_TARGET_KERNEL_VERSION_4_1),y)
KERNEL_FILE_VER:= 4.1.35
diff --git a/target/config/Config.in.kernelversion b/target/config/Config.in.kernelversion
index ef808882f..c28749dd4 100644
--- a/target/config/Config.in.kernelversion
+++ b/target/config/Config.in.kernelversion
@@ -38,7 +38,7 @@ config ADK_TARGET_KERNEL_VERSION_4_6
depends on ADK_TARGET_ARCH_RISCV
config ADK_TARGET_KERNEL_VERSION_4_4
- bool "4.4.50"
+ bool "4.4.56"
depends on !ADK_TARGET_ARCH_NDS32
depends on !ADK_TARGET_ARCH_NIOS2
depends on !ADK_TARGET_ARCH_OR1K
diff --git a/target/linux/patches/4.4.50/coldfire-sighandler.patch b/target/linux/patches/4.4.56/coldfire-sighandler.patch
index c52a4e228..c52a4e228 100644
--- a/target/linux/patches/4.4.50/coldfire-sighandler.patch
+++ b/target/linux/patches/4.4.56/coldfire-sighandler.patch
diff --git a/target/linux/patches/4.4.50/crisv32.patch b/target/linux/patches/4.4.56/crisv32.patch
index cb9b0d028..cb9b0d028 100644
--- a/target/linux/patches/4.4.50/crisv32.patch
+++ b/target/linux/patches/4.4.56/crisv32.patch
diff --git a/target/linux/patches/4.4.50/crisv32_ethernet_driver.patch b/target/linux/patches/4.4.56/crisv32_ethernet_driver.patch
index 0cef202fc..0cef202fc 100644
--- a/target/linux/patches/4.4.50/crisv32_ethernet_driver.patch
+++ b/target/linux/patches/4.4.56/crisv32_ethernet_driver.patch
diff --git a/target/linux/patches/4.4.50/initramfs-nosizelimit.patch b/target/linux/patches/4.4.56/initramfs-nosizelimit.patch
index 40d2f6bd8..40d2f6bd8 100644
--- a/target/linux/patches/4.4.50/initramfs-nosizelimit.patch
+++ b/target/linux/patches/4.4.56/initramfs-nosizelimit.patch
diff --git a/target/linux/patches/4.4.50/ld-or1k.patch b/target/linux/patches/4.4.56/ld-or1k.patch
index 264f9166f..264f9166f 100644
--- a/target/linux/patches/4.4.50/ld-or1k.patch
+++ b/target/linux/patches/4.4.56/ld-or1k.patch
diff --git a/target/linux/patches/4.4.50/macsonic.patch b/target/linux/patches/4.4.56/macsonic.patch
index 75a6fcad2..75a6fcad2 100644
--- a/target/linux/patches/4.4.50/macsonic.patch
+++ b/target/linux/patches/4.4.56/macsonic.patch
diff --git a/target/linux/patches/4.4.50/mips-xz.patch b/target/linux/patches/4.4.56/mips-xz.patch
index 5cfac6254..5cfac6254 100644
--- a/target/linux/patches/4.4.50/mips-xz.patch
+++ b/target/linux/patches/4.4.56/mips-xz.patch
diff --git a/target/linux/patches/4.4.50/patch-realtime b/target/linux/patches/4.4.56/patch-realtime
index 5ab7acb20..23c9d7af6 100644
--- a/target/linux/patches/4.4.50/patch-realtime
+++ b/target/linux/patches/4.4.56/patch-realtime
@@ -1,6 +1,6 @@
-diff -Nur linux-4.4.46.orig/arch/arm/include/asm/switch_to.h linux-4.4.46/arch/arm/include/asm/switch_to.h
---- linux-4.4.46.orig/arch/arm/include/asm/switch_to.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/include/asm/switch_to.h 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/include/asm/switch_to.h linux-4.4.56/arch/arm/include/asm/switch_to.h
+--- linux-4.4.56.orig/arch/arm/include/asm/switch_to.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/include/asm/switch_to.h 2017-03-23 07:59:27.943522850 +0100
@@ -3,6 +3,13 @@
#include <linux/thread_info.h>
@@ -23,9 +23,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/include/asm/switch_to.h linux-4.4.46/arch/a
last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \
} while (0)
-diff -Nur linux-4.4.46.orig/arch/arm/include/asm/thread_info.h linux-4.4.46/arch/arm/include/asm/thread_info.h
---- linux-4.4.46.orig/arch/arm/include/asm/thread_info.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/include/asm/thread_info.h 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/include/asm/thread_info.h linux-4.4.56/arch/arm/include/asm/thread_info.h
+--- linux-4.4.56.orig/arch/arm/include/asm/thread_info.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/include/asm/thread_info.h 2017-03-23 07:59:27.943522850 +0100
@@ -49,6 +49,7 @@
struct thread_info {
unsigned long flags; /* low level flags */
@@ -62,9 +62,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/include/asm/thread_info.h linux-4.4.46/arch
#endif /* __KERNEL__ */
#endif /* __ASM_ARM_THREAD_INFO_H */
-diff -Nur linux-4.4.46.orig/arch/arm/Kconfig linux-4.4.46/arch/arm/Kconfig
---- linux-4.4.46.orig/arch/arm/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/Kconfig 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/Kconfig linux-4.4.56/arch/arm/Kconfig
+--- linux-4.4.56.orig/arch/arm/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/Kconfig 2017-03-23 07:59:27.943522850 +0100
@@ -33,7 +33,7 @@
select HARDIRQS_SW_RESEND
select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
@@ -82,9 +82,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/Kconfig linux-4.4.46/arch/arm/Kconfig
select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_SYSCALL_TRACEPOINTS
-diff -Nur linux-4.4.46.orig/arch/arm/kernel/asm-offsets.c linux-4.4.46/arch/arm/kernel/asm-offsets.c
---- linux-4.4.46.orig/arch/arm/kernel/asm-offsets.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kernel/asm-offsets.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/asm-offsets.c linux-4.4.56/arch/arm/kernel/asm-offsets.c
+--- linux-4.4.56.orig/arch/arm/kernel/asm-offsets.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/asm-offsets.c 2017-03-23 07:59:27.943522850 +0100
@@ -65,6 +65,7 @@
BLANK();
DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
@@ -93,9 +93,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kernel/asm-offsets.c linux-4.4.46/arch/arm/
DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit));
DEFINE(TI_TASK, offsetof(struct thread_info, task));
DEFINE(TI_CPU, offsetof(struct thread_info, cpu));
-diff -Nur linux-4.4.46.orig/arch/arm/kernel/entry-armv.S linux-4.4.46/arch/arm/kernel/entry-armv.S
---- linux-4.4.46.orig/arch/arm/kernel/entry-armv.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kernel/entry-armv.S 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/entry-armv.S linux-4.4.56/arch/arm/kernel/entry-armv.S
+--- linux-4.4.56.orig/arch/arm/kernel/entry-armv.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/entry-armv.S 2017-03-23 07:59:27.943522850 +0100
@@ -215,11 +215,18 @@
#ifdef CONFIG_PREEMPT
get_thread_info tsk
@@ -133,9 +133,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kernel/entry-armv.S linux-4.4.46/arch/arm/k
#endif
__und_fault:
-diff -Nur linux-4.4.46.orig/arch/arm/kernel/entry-common.S linux-4.4.46/arch/arm/kernel/entry-common.S
---- linux-4.4.46.orig/arch/arm/kernel/entry-common.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kernel/entry-common.S 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/entry-common.S linux-4.4.56/arch/arm/kernel/entry-common.S
+--- linux-4.4.56.orig/arch/arm/kernel/entry-common.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/entry-common.S 2017-03-23 07:59:27.943522850 +0100
@@ -36,7 +36,9 @@
UNWIND(.cantunwind )
disable_irq_notrace @ disable interrupts
@@ -160,9 +160,39 @@ diff -Nur linux-4.4.46.orig/arch/arm/kernel/entry-common.S linux-4.4.46/arch/arm
UNWIND(.fnend )
ENDPROC(ret_fast_syscall)
-diff -Nur linux-4.4.46.orig/arch/arm/kernel/process.c linux-4.4.46/arch/arm/kernel/process.c
---- linux-4.4.46.orig/arch/arm/kernel/process.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kernel/process.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/patch.c linux-4.4.56/arch/arm/kernel/patch.c
+--- linux-4.4.56.orig/arch/arm/kernel/patch.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/patch.c 2017-03-23 07:59:27.943522850 +0100
+@@ -15,7 +15,7 @@
+ unsigned int insn;
+ };
+
+-static DEFINE_SPINLOCK(patch_lock);
++static DEFINE_RAW_SPINLOCK(patch_lock);
+
+ static void __kprobes *patch_map(void *addr, int fixmap, unsigned long *flags)
+ __acquires(&patch_lock)
+@@ -32,7 +32,7 @@
+ return addr;
+
+ if (flags)
+- spin_lock_irqsave(&patch_lock, *flags);
++ raw_spin_lock_irqsave(&patch_lock, *flags);
+ else
+ __acquire(&patch_lock);
+
+@@ -47,7 +47,7 @@
+ clear_fixmap(fixmap);
+
+ if (flags)
+- spin_unlock_irqrestore(&patch_lock, *flags);
++ raw_spin_unlock_irqrestore(&patch_lock, *flags);
+ else
+ __release(&patch_lock);
+ }
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/process.c linux-4.4.56/arch/arm/kernel/process.c
+--- linux-4.4.56.orig/arch/arm/kernel/process.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/process.c 2017-03-23 07:59:27.943522850 +0100
@@ -319,6 +319,30 @@
}
@@ -194,9 +224,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kernel/process.c linux-4.4.46/arch/arm/kern
#ifdef CONFIG_KUSER_HELPERS
/*
* The vectors page is always readable from user space for the
-diff -Nur linux-4.4.46.orig/arch/arm/kernel/signal.c linux-4.4.46/arch/arm/kernel/signal.c
---- linux-4.4.46.orig/arch/arm/kernel/signal.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kernel/signal.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/signal.c linux-4.4.56/arch/arm/kernel/signal.c
+--- linux-4.4.56.orig/arch/arm/kernel/signal.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/signal.c 2017-03-23 07:59:27.943522850 +0100
@@ -572,7 +572,8 @@
*/
trace_hardirqs_off();
@@ -207,9 +237,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kernel/signal.c linux-4.4.46/arch/arm/kerne
schedule();
} else {
if (unlikely(!user_mode(regs)))
-diff -Nur linux-4.4.46.orig/arch/arm/kernel/smp.c linux-4.4.46/arch/arm/kernel/smp.c
---- linux-4.4.46.orig/arch/arm/kernel/smp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kernel/smp.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/smp.c linux-4.4.56/arch/arm/kernel/smp.c
+--- linux-4.4.56.orig/arch/arm/kernel/smp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/smp.c 2017-03-23 07:59:27.943522850 +0100
@@ -230,8 +230,6 @@
flush_cache_louis();
local_flush_tlb_all();
@@ -229,9 +259,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kernel/smp.c linux-4.4.46/arch/arm/kernel/s
pr_notice("CPU%u: shutdown\n", cpu);
/*
-diff -Nur linux-4.4.46.orig/arch/arm/kernel/unwind.c linux-4.4.46/arch/arm/kernel/unwind.c
---- linux-4.4.46.orig/arch/arm/kernel/unwind.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kernel/unwind.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kernel/unwind.c linux-4.4.56/arch/arm/kernel/unwind.c
+--- linux-4.4.56.orig/arch/arm/kernel/unwind.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kernel/unwind.c 2017-03-23 07:59:27.943522850 +0100
@@ -93,7 +93,7 @@
static const struct unwind_idx *__origin_unwind_idx;
extern const struct unwind_idx __stop_unwind_idx[];
@@ -283,9 +313,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kernel/unwind.c linux-4.4.46/arch/arm/kerne
kfree(tab);
}
-diff -Nur linux-4.4.46.orig/arch/arm/kvm/arm.c linux-4.4.46/arch/arm/kvm/arm.c
---- linux-4.4.46.orig/arch/arm/kvm/arm.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kvm/arm.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kvm/arm.c linux-4.4.56/arch/arm/kvm/arm.c
+--- linux-4.4.56.orig/arch/arm/kvm/arm.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kvm/arm.c 2017-03-23 07:59:27.943522850 +0100
@@ -496,18 +496,18 @@
struct kvm_vcpu *vcpu;
@@ -336,9 +366,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kvm/arm.c linux-4.4.46/arch/arm/kvm/arm.c
ret = handle_exit(vcpu, run, ret);
}
-diff -Nur linux-4.4.46.orig/arch/arm/kvm/psci.c linux-4.4.46/arch/arm/kvm/psci.c
---- linux-4.4.46.orig/arch/arm/kvm/psci.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/kvm/psci.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/kvm/psci.c linux-4.4.56/arch/arm/kvm/psci.c
+--- linux-4.4.56.orig/arch/arm/kvm/psci.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/kvm/psci.c 2017-03-23 07:59:27.943522850 +0100
@@ -70,7 +70,7 @@
{
struct kvm *kvm = source_vcpu->kvm;
@@ -357,9 +387,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/kvm/psci.c linux-4.4.46/arch/arm/kvm/psci.c
return PSCI_RET_SUCCESS;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/at91rm9200.c linux-4.4.46/arch/arm/mach-at91/at91rm9200.c
---- linux-4.4.46.orig/arch/arm/mach-at91/at91rm9200.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-at91/at91rm9200.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-at91/at91rm9200.c linux-4.4.56/arch/arm/mach-at91/at91rm9200.c
+--- linux-4.4.56.orig/arch/arm/mach-at91/at91rm9200.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-at91/at91rm9200.c 2017-03-23 07:59:27.947522948 +0100
@@ -12,7 +12,6 @@
#include <linux/of_platform.h>
@@ -376,9 +406,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/at91rm9200.c linux-4.4.46/arch/ar
at91rm9200_pm_init();
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/at91sam9.c linux-4.4.46/arch/arm/mach-at91/at91sam9.c
---- linux-4.4.46.orig/arch/arm/mach-at91/at91sam9.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-at91/at91sam9.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-at91/at91sam9.c linux-4.4.56/arch/arm/mach-at91/at91sam9.c
+--- linux-4.4.56.orig/arch/arm/mach-at91/at91sam9.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-at91/at91sam9.c 2017-03-23 07:59:27.947522948 +0100
@@ -62,8 +62,6 @@
soc_dev = soc_device_to_device(soc);
@@ -388,9 +418,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/at91sam9.c linux-4.4.46/arch/arm/
}
static void __init at91sam9_dt_device_init(void)
-diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/generic.h linux-4.4.46/arch/arm/mach-at91/generic.h
---- linux-4.4.46.orig/arch/arm/mach-at91/generic.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-at91/generic.h 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-at91/generic.h linux-4.4.56/arch/arm/mach-at91/generic.h
+--- linux-4.4.56.orig/arch/arm/mach-at91/generic.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-at91/generic.h 2017-03-23 07:59:27.947522948 +0100
@@ -11,27 +11,18 @@
#ifndef _AT91_GENERIC_H
#define _AT91_GENERIC_H
@@ -421,9 +451,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/generic.h linux-4.4.46/arch/arm/m
#endif
#endif /* _AT91_GENERIC_H */
-diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/Kconfig linux-4.4.46/arch/arm/mach-at91/Kconfig
---- linux-4.4.46.orig/arch/arm/mach-at91/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-at91/Kconfig 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-at91/Kconfig linux-4.4.56/arch/arm/mach-at91/Kconfig
+--- linux-4.4.56.orig/arch/arm/mach-at91/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-at91/Kconfig 2017-03-23 07:59:27.947522948 +0100
@@ -99,6 +99,7 @@
config COMMON_CLK_AT91
bool
@@ -432,9 +462,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/Kconfig linux-4.4.46/arch/arm/mac
config HAVE_AT91_SMD
bool
-diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/pm.c linux-4.4.46/arch/arm/mach-at91/pm.c
---- linux-4.4.46.orig/arch/arm/mach-at91/pm.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-at91/pm.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-at91/pm.c linux-4.4.56/arch/arm/mach-at91/pm.c
+--- linux-4.4.56.orig/arch/arm/mach-at91/pm.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-at91/pm.c 2017-03-23 07:59:27.947522948 +0100
@@ -31,10 +31,13 @@
#include <asm/mach/irq.h>
#include <asm/fncpy.h>
@@ -582,9 +612,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/pm.c linux-4.4.46/arch/arm/mach-a
+ at91_pm_data.memctrl = AT91_MEMCTRL_DDRSDR;
+ at91_pm_init(NULL);
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/sama5.c linux-4.4.46/arch/arm/mach-at91/sama5.c
---- linux-4.4.46.orig/arch/arm/mach-at91/sama5.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-at91/sama5.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-at91/sama5.c linux-4.4.56/arch/arm/mach-at91/sama5.c
+--- linux-4.4.56.orig/arch/arm/mach-at91/sama5.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-at91/sama5.c 2017-03-23 07:59:27.947522948 +0100
@@ -51,7 +51,7 @@
soc_dev = soc_device_to_device(soc);
@@ -594,9 +624,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-at91/sama5.c linux-4.4.46/arch/arm/mac
}
static const char *const sama5_dt_board_compat[] __initconst = {
-diff -Nur linux-4.4.46.orig/arch/arm/mach-exynos/platsmp.c linux-4.4.46/arch/arm/mach-exynos/platsmp.c
---- linux-4.4.46.orig/arch/arm/mach-exynos/platsmp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-exynos/platsmp.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-exynos/platsmp.c linux-4.4.56/arch/arm/mach-exynos/platsmp.c
+--- linux-4.4.56.orig/arch/arm/mach-exynos/platsmp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-exynos/platsmp.c 2017-03-23 07:59:27.947522948 +0100
@@ -230,7 +230,7 @@
return (void __iomem *)(S5P_VA_SCU);
}
@@ -644,9 +674,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-exynos/platsmp.c linux-4.4.46/arch/arm
return pen_release != -1 ? ret : 0;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-hisi/platmcpm.c linux-4.4.46/arch/arm/mach-hisi/platmcpm.c
---- linux-4.4.46.orig/arch/arm/mach-hisi/platmcpm.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-hisi/platmcpm.c 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-hisi/platmcpm.c linux-4.4.56/arch/arm/mach-hisi/platmcpm.c
+--- linux-4.4.56.orig/arch/arm/mach-hisi/platmcpm.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-hisi/platmcpm.c 2017-03-23 07:59:27.947522948 +0100
@@ -61,7 +61,7 @@
static void __iomem *sysctrl, *fabric;
@@ -732,9 +762,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-hisi/platmcpm.c linux-4.4.46/arch/arm/
return 0;
}
#endif
-diff -Nur linux-4.4.46.orig/arch/arm/mach-imx/Kconfig linux-4.4.46/arch/arm/mach-imx/Kconfig
---- linux-4.4.46.orig/arch/arm/mach-imx/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-imx/Kconfig 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-imx/Kconfig linux-4.4.56/arch/arm/mach-imx/Kconfig
+--- linux-4.4.56.orig/arch/arm/mach-imx/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-imx/Kconfig 2017-03-23 07:59:27.947522948 +0100
@@ -524,7 +524,7 @@
bool "i.MX6 Quad/DualLite support"
select ARM_ERRATA_764369 if SMP
@@ -744,9 +774,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-imx/Kconfig linux-4.4.46/arch/arm/mach
select PCI_DOMAINS if PCI
select PINCTRL_IMX6Q
select SOC_IMX6
-diff -Nur linux-4.4.46.orig/arch/arm/mach-omap2/omap-smp.c linux-4.4.46/arch/arm/mach-omap2/omap-smp.c
---- linux-4.4.46.orig/arch/arm/mach-omap2/omap-smp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-omap2/omap-smp.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-omap2/omap-smp.c linux-4.4.56/arch/arm/mach-omap2/omap-smp.c
+--- linux-4.4.56.orig/arch/arm/mach-omap2/omap-smp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-omap2/omap-smp.c 2017-03-23 07:59:27.947522948 +0100
@@ -43,7 +43,7 @@
/* SCU base address */
static void __iomem *scu_base;
@@ -785,9 +815,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-omap2/omap-smp.c linux-4.4.46/arch/arm
return 0;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-prima2/platsmp.c linux-4.4.46/arch/arm/mach-prima2/platsmp.c
---- linux-4.4.46.orig/arch/arm/mach-prima2/platsmp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-prima2/platsmp.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-prima2/platsmp.c linux-4.4.56/arch/arm/mach-prima2/platsmp.c
+--- linux-4.4.56.orig/arch/arm/mach-prima2/platsmp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-prima2/platsmp.c 2017-03-23 07:59:27.947522948 +0100
@@ -22,7 +22,7 @@
static void __iomem *clk_base;
@@ -826,9 +856,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-prima2/platsmp.c linux-4.4.46/arch/arm
return pen_release != -1 ? -ENOSYS : 0;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-qcom/platsmp.c linux-4.4.46/arch/arm/mach-qcom/platsmp.c
---- linux-4.4.46.orig/arch/arm/mach-qcom/platsmp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-qcom/platsmp.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-qcom/platsmp.c linux-4.4.56/arch/arm/mach-qcom/platsmp.c
+--- linux-4.4.56.orig/arch/arm/mach-qcom/platsmp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-qcom/platsmp.c 2017-03-23 07:59:27.947522948 +0100
@@ -46,7 +46,7 @@
extern void secondary_startup_arm(void);
@@ -867,9 +897,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-qcom/platsmp.c linux-4.4.46/arch/arm/m
return ret;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-spear/platsmp.c linux-4.4.46/arch/arm/mach-spear/platsmp.c
---- linux-4.4.46.orig/arch/arm/mach-spear/platsmp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-spear/platsmp.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-spear/platsmp.c linux-4.4.56/arch/arm/mach-spear/platsmp.c
+--- linux-4.4.56.orig/arch/arm/mach-spear/platsmp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-spear/platsmp.c 2017-03-23 07:59:27.947522948 +0100
@@ -32,7 +32,7 @@
sync_cache_w(&pen_release);
}
@@ -908,9 +938,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-spear/platsmp.c linux-4.4.46/arch/arm/
return pen_release != -1 ? -ENOSYS : 0;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mach-sti/platsmp.c linux-4.4.46/arch/arm/mach-sti/platsmp.c
---- linux-4.4.46.orig/arch/arm/mach-sti/platsmp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mach-sti/platsmp.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mach-sti/platsmp.c linux-4.4.56/arch/arm/mach-sti/platsmp.c
+--- linux-4.4.56.orig/arch/arm/mach-sti/platsmp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mach-sti/platsmp.c 2017-03-23 07:59:27.947522948 +0100
@@ -35,7 +35,7 @@
sync_cache_w(&pen_release);
}
@@ -949,9 +979,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mach-sti/platsmp.c linux-4.4.46/arch/arm/ma
return pen_release != -1 ? -ENOSYS : 0;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mm/fault.c linux-4.4.46/arch/arm/mm/fault.c
---- linux-4.4.46.orig/arch/arm/mm/fault.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mm/fault.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mm/fault.c linux-4.4.56/arch/arm/mm/fault.c
+--- linux-4.4.56.orig/arch/arm/mm/fault.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mm/fault.c 2017-03-23 07:59:27.947522948 +0100
@@ -430,6 +430,9 @@
if (addr < TASK_SIZE)
return do_page_fault(addr, fsr, regs);
@@ -972,9 +1002,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mm/fault.c linux-4.4.46/arch/arm/mm/fault.c
do_bad_area(addr, fsr, regs);
return 0;
}
-diff -Nur linux-4.4.46.orig/arch/arm/mm/highmem.c linux-4.4.46/arch/arm/mm/highmem.c
---- linux-4.4.46.orig/arch/arm/mm/highmem.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/mm/highmem.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/mm/highmem.c linux-4.4.56/arch/arm/mm/highmem.c
+--- linux-4.4.56.orig/arch/arm/mm/highmem.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/mm/highmem.c 2017-03-23 07:59:27.947522948 +0100
@@ -34,6 +34,11 @@
return *ptep;
}
@@ -1105,9 +1135,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/mm/highmem.c linux-4.4.46/arch/arm/mm/highm
+ }
+}
+#endif
-diff -Nur linux-4.4.46.orig/arch/arm/plat-versatile/platsmp.c linux-4.4.46/arch/arm/plat-versatile/platsmp.c
---- linux-4.4.46.orig/arch/arm/plat-versatile/platsmp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm/plat-versatile/platsmp.c 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm/plat-versatile/platsmp.c linux-4.4.56/arch/arm/plat-versatile/platsmp.c
+--- linux-4.4.56.orig/arch/arm/plat-versatile/platsmp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm/plat-versatile/platsmp.c 2017-03-23 07:59:27.947522948 +0100
@@ -30,7 +30,7 @@
sync_cache_w(&pen_release);
}
@@ -1146,9 +1176,9 @@ diff -Nur linux-4.4.46.orig/arch/arm/plat-versatile/platsmp.c linux-4.4.46/arch/
return pen_release != -1 ? -ENOSYS : 0;
}
-diff -Nur linux-4.4.46.orig/arch/arm64/include/asm/thread_info.h linux-4.4.46/arch/arm64/include/asm/thread_info.h
---- linux-4.4.46.orig/arch/arm64/include/asm/thread_info.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm64/include/asm/thread_info.h 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm64/include/asm/thread_info.h linux-4.4.56/arch/arm64/include/asm/thread_info.h
+--- linux-4.4.56.orig/arch/arm64/include/asm/thread_info.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm64/include/asm/thread_info.h 2017-03-23 07:59:27.947522948 +0100
@@ -49,6 +49,7 @@
mm_segment_t addr_limit; /* address limit */
struct task_struct *task; /* main task structure */
@@ -1183,9 +1213,9 @@ diff -Nur linux-4.4.46.orig/arch/arm64/include/asm/thread_info.h linux-4.4.46/ar
#define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \
_TIF_SYSCALL_TRACEPOINT | _TIF_SECCOMP | \
-diff -Nur linux-4.4.46.orig/arch/arm64/Kconfig linux-4.4.46/arch/arm64/Kconfig
---- linux-4.4.46.orig/arch/arm64/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm64/Kconfig 2017-02-03 17:18:05.631414475 +0100
+diff -Nur linux-4.4.56.orig/arch/arm64/Kconfig linux-4.4.56/arch/arm64/Kconfig
+--- linux-4.4.56.orig/arch/arm64/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm64/Kconfig 2017-03-23 07:59:27.947522948 +0100
@@ -76,6 +76,7 @@
select HAVE_PERF_REGS
select HAVE_PERF_USER_STACK_DUMP
@@ -1203,9 +1233,9 @@ diff -Nur linux-4.4.46.orig/arch/arm64/Kconfig linux-4.4.46/arch/arm64/Kconfig
select SWIOTLB_XEN
help
Say Y if you want to run Linux in a Virtual Machine on Xen on ARM64.
-diff -Nur linux-4.4.46.orig/arch/arm64/kernel/asm-offsets.c linux-4.4.46/arch/arm64/kernel/asm-offsets.c
---- linux-4.4.46.orig/arch/arm64/kernel/asm-offsets.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm64/kernel/asm-offsets.c 2017-02-03 17:18:05.639414785 +0100
+diff -Nur linux-4.4.56.orig/arch/arm64/kernel/asm-offsets.c linux-4.4.56/arch/arm64/kernel/asm-offsets.c
+--- linux-4.4.56.orig/arch/arm64/kernel/asm-offsets.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm64/kernel/asm-offsets.c 2017-03-23 07:59:27.947522948 +0100
@@ -35,6 +35,7 @@
BLANK();
DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
@@ -1214,9 +1244,9 @@ diff -Nur linux-4.4.46.orig/arch/arm64/kernel/asm-offsets.c linux-4.4.46/arch/ar
DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit));
DEFINE(TI_TASK, offsetof(struct thread_info, task));
DEFINE(TI_CPU, offsetof(struct thread_info, cpu));
-diff -Nur linux-4.4.46.orig/arch/arm64/kernel/entry.S linux-4.4.46/arch/arm64/kernel/entry.S
---- linux-4.4.46.orig/arch/arm64/kernel/entry.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/arm64/kernel/entry.S 2017-02-03 17:18:05.639414785 +0100
+diff -Nur linux-4.4.56.orig/arch/arm64/kernel/entry.S linux-4.4.56/arch/arm64/kernel/entry.S
+--- linux-4.4.56.orig/arch/arm64/kernel/entry.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/arm64/kernel/entry.S 2017-03-23 07:59:27.947522948 +0100
@@ -376,11 +376,16 @@
#ifdef CONFIG_PREEMPT
get_thread_info tsk
@@ -1253,9 +1283,9 @@ diff -Nur linux-4.4.46.orig/arch/arm64/kernel/entry.S linux-4.4.46/arch/arm64/ke
/* TIF_SIGPENDING, TIF_NOTIFY_RESUME or TIF_FOREIGN_FPSTATE case */
ldr x2, [sp, #S_PSTATE]
mov x0, sp // 'regs'
-diff -Nur linux-4.4.46.orig/arch/Kconfig linux-4.4.46/arch/Kconfig
---- linux-4.4.46.orig/arch/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/Kconfig 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/arch/Kconfig linux-4.4.56/arch/Kconfig
+--- linux-4.4.56.orig/arch/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/Kconfig 2017-03-23 07:59:27.943522850 +0100
@@ -9,6 +9,7 @@
tristate "OProfile system profiling"
depends on PROFILING
@@ -1272,9 +1302,9 @@ diff -Nur linux-4.4.46.orig/arch/Kconfig linux-4.4.46/arch/Kconfig
help
This option enables a transparent branch optimization that
makes certain almost-always-true or almost-always-false branch
-diff -Nur linux-4.4.46.orig/arch/mips/Kconfig linux-4.4.46/arch/mips/Kconfig
---- linux-4.4.46.orig/arch/mips/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/mips/Kconfig 2017-02-03 17:18:05.639414785 +0100
+diff -Nur linux-4.4.56.orig/arch/mips/Kconfig linux-4.4.56/arch/mips/Kconfig
+--- linux-4.4.56.orig/arch/mips/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/mips/Kconfig 2017-03-23 07:59:27.947522948 +0100
@@ -2410,7 +2410,7 @@
#
config HIGHMEM
@@ -1284,9 +1314,9 @@ diff -Nur linux-4.4.46.orig/arch/mips/Kconfig linux-4.4.46/arch/mips/Kconfig
config CPU_SUPPORTS_HIGHMEM
bool
-diff -Nur linux-4.4.46.orig/arch/mips/kvm/mips.c linux-4.4.46/arch/mips/kvm/mips.c
---- linux-4.4.46.orig/arch/mips/kvm/mips.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/mips/kvm/mips.c 2017-02-03 17:18:05.639414785 +0100
+diff -Nur linux-4.4.56.orig/arch/mips/kvm/mips.c linux-4.4.56/arch/mips/kvm/mips.c
+--- linux-4.4.56.orig/arch/mips/kvm/mips.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/mips/kvm/mips.c 2017-03-23 07:59:27.947522948 +0100
@@ -454,8 +454,8 @@
dvcpu->arch.wait = 0;
@@ -1309,9 +1339,9 @@ diff -Nur linux-4.4.46.orig/arch/mips/kvm/mips.c linux-4.4.46/arch/mips/kvm/mips
}
/* low level hrtimer wake routine */
-diff -Nur linux-4.4.46.orig/arch/powerpc/include/asm/kvm_host.h linux-4.4.46/arch/powerpc/include/asm/kvm_host.h
---- linux-4.4.46.orig/arch/powerpc/include/asm/kvm_host.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/include/asm/kvm_host.h 2017-02-03 17:18:05.639414785 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/include/asm/kvm_host.h linux-4.4.56/arch/powerpc/include/asm/kvm_host.h
+--- linux-4.4.56.orig/arch/powerpc/include/asm/kvm_host.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/include/asm/kvm_host.h 2017-03-23 07:59:27.947522948 +0100
@@ -286,7 +286,7 @@
struct list_head runnable_threads;
struct list_head preempt_list;
@@ -1330,9 +1360,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/include/asm/kvm_host.h linux-4.4.46/arc
struct kvmppc_vcore *vcore;
int ret;
int trap;
-diff -Nur linux-4.4.46.orig/arch/powerpc/include/asm/thread_info.h linux-4.4.46/arch/powerpc/include/asm/thread_info.h
---- linux-4.4.46.orig/arch/powerpc/include/asm/thread_info.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/include/asm/thread_info.h 2017-02-03 17:18:05.639414785 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/include/asm/thread_info.h linux-4.4.56/arch/powerpc/include/asm/thread_info.h
+--- linux-4.4.56.orig/arch/powerpc/include/asm/thread_info.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/include/asm/thread_info.h 2017-03-23 07:59:27.951523049 +0100
@@ -42,6 +42,8 @@
int cpu; /* cpu we're on */
int preempt_count; /* 0 => preemptable,
@@ -1379,9 +1409,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/include/asm/thread_info.h linux-4.4.46/
/* Bits in local_flags */
/* Don't move TLF_NAPPING without adjusting the code in entry_32.S */
-diff -Nur linux-4.4.46.orig/arch/powerpc/Kconfig linux-4.4.46/arch/powerpc/Kconfig
---- linux-4.4.46.orig/arch/powerpc/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/Kconfig 2017-02-03 17:18:05.639414785 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/Kconfig linux-4.4.56/arch/powerpc/Kconfig
+--- linux-4.4.56.orig/arch/powerpc/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/Kconfig 2017-03-23 07:59:27.947522948 +0100
@@ -60,10 +60,11 @@
config RWSEM_GENERIC_SPINLOCK
@@ -1412,9 +1442,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/Kconfig linux-4.4.46/arch/powerpc/Kconf
source kernel/Kconfig.hz
source kernel/Kconfig.preempt
-diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/asm-offsets.c linux-4.4.46/arch/powerpc/kernel/asm-offsets.c
---- linux-4.4.46.orig/arch/powerpc/kernel/asm-offsets.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kernel/asm-offsets.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kernel/asm-offsets.c linux-4.4.56/arch/powerpc/kernel/asm-offsets.c
+--- linux-4.4.56.orig/arch/powerpc/kernel/asm-offsets.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kernel/asm-offsets.c 2017-03-23 07:59:27.951523049 +0100
@@ -160,6 +160,7 @@
DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags));
@@ -1423,9 +1453,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/asm-offsets.c linux-4.4.46/arch/
DEFINE(TI_TASK, offsetof(struct thread_info, task));
DEFINE(TI_CPU, offsetof(struct thread_info, cpu));
-diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/entry_32.S linux-4.4.46/arch/powerpc/kernel/entry_32.S
---- linux-4.4.46.orig/arch/powerpc/kernel/entry_32.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kernel/entry_32.S 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kernel/entry_32.S linux-4.4.56/arch/powerpc/kernel/entry_32.S
+--- linux-4.4.56.orig/arch/powerpc/kernel/entry_32.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kernel/entry_32.S 2017-03-23 07:59:27.951523049 +0100
@@ -818,7 +818,14 @@
cmpwi 0,r0,0 /* if non-zero, just restore regs and return */
bne restore
@@ -1474,9 +1504,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/entry_32.S linux-4.4.46/arch/pow
bne- do_resched
andi. r0,r9,_TIF_USER_WORK_MASK
beq restore_user
-diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/entry_64.S linux-4.4.46/arch/powerpc/kernel/entry_64.S
---- linux-4.4.46.orig/arch/powerpc/kernel/entry_64.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kernel/entry_64.S 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kernel/entry_64.S linux-4.4.56/arch/powerpc/kernel/entry_64.S
+--- linux-4.4.56.orig/arch/powerpc/kernel/entry_64.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kernel/entry_64.S 2017-03-23 07:59:27.951523049 +0100
@@ -683,7 +683,7 @@
#else
beq restore
@@ -1515,9 +1545,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/entry_64.S linux-4.4.46/arch/pow
bne 1b
/*
-diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/irq.c linux-4.4.46/arch/powerpc/kernel/irq.c
---- linux-4.4.46.orig/arch/powerpc/kernel/irq.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kernel/irq.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kernel/irq.c linux-4.4.56/arch/powerpc/kernel/irq.c
+--- linux-4.4.56.orig/arch/powerpc/kernel/irq.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kernel/irq.c 2017-03-23 07:59:27.951523049 +0100
@@ -614,6 +614,7 @@
}
}
@@ -1534,9 +1564,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/irq.c linux-4.4.46/arch/powerpc/
irq_hw_number_t virq_to_hw(unsigned int virq)
{
-diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/misc_32.S linux-4.4.46/arch/powerpc/kernel/misc_32.S
---- linux-4.4.46.orig/arch/powerpc/kernel/misc_32.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kernel/misc_32.S 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kernel/misc_32.S linux-4.4.56/arch/powerpc/kernel/misc_32.S
+--- linux-4.4.56.orig/arch/powerpc/kernel/misc_32.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kernel/misc_32.S 2017-03-23 07:59:27.951523049 +0100
@@ -40,6 +40,7 @@
* We store the saved ksp_limit in the unused part
* of the STACK_FRAME_OVERHEAD
@@ -1553,9 +1583,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/misc_32.S linux-4.4.46/arch/powe
/*
* void call_do_irq(struct pt_regs *regs, struct thread_info *irqtp);
-diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/misc_64.S linux-4.4.46/arch/powerpc/kernel/misc_64.S
---- linux-4.4.46.orig/arch/powerpc/kernel/misc_64.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kernel/misc_64.S 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kernel/misc_64.S linux-4.4.56/arch/powerpc/kernel/misc_64.S
+--- linux-4.4.56.orig/arch/powerpc/kernel/misc_64.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kernel/misc_64.S 2017-03-23 07:59:27.951523049 +0100
@@ -30,6 +30,7 @@
.text
@@ -1572,9 +1602,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kernel/misc_64.S linux-4.4.46/arch/powe
_GLOBAL(call_do_irq)
mflr r0
-diff -Nur linux-4.4.46.orig/arch/powerpc/kvm/book3s_hv.c linux-4.4.46/arch/powerpc/kvm/book3s_hv.c
---- linux-4.4.46.orig/arch/powerpc/kvm/book3s_hv.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kvm/book3s_hv.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kvm/book3s_hv.c linux-4.4.56/arch/powerpc/kvm/book3s_hv.c
+--- linux-4.4.56.orig/arch/powerpc/kvm/book3s_hv.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kvm/book3s_hv.c 2017-03-23 07:59:27.951523049 +0100
@@ -114,11 +114,11 @@
static void kvmppc_fast_vcpu_kick_hv(struct kvm_vcpu *vcpu)
{
@@ -1650,9 +1680,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kvm/book3s_hv.c linux-4.4.46/arch/power
}
}
-diff -Nur linux-4.4.46.orig/arch/powerpc/kvm/Kconfig linux-4.4.46/arch/powerpc/kvm/Kconfig
---- linux-4.4.46.orig/arch/powerpc/kvm/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/kvm/Kconfig 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/kvm/Kconfig linux-4.4.56/arch/powerpc/kvm/Kconfig
+--- linux-4.4.56.orig/arch/powerpc/kvm/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/kvm/Kconfig 2017-03-23 07:59:27.951523049 +0100
@@ -172,6 +172,7 @@
config KVM_MPIC
bool "KVM in-kernel MPIC emulation"
@@ -1661,9 +1691,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/kvm/Kconfig linux-4.4.46/arch/powerpc/k
select HAVE_KVM_IRQCHIP
select HAVE_KVM_IRQFD
select HAVE_KVM_IRQ_ROUTING
-diff -Nur linux-4.4.46.orig/arch/powerpc/platforms/ps3/device-init.c linux-4.4.46/arch/powerpc/platforms/ps3/device-init.c
---- linux-4.4.46.orig/arch/powerpc/platforms/ps3/device-init.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/powerpc/platforms/ps3/device-init.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/powerpc/platforms/ps3/device-init.c linux-4.4.56/arch/powerpc/platforms/ps3/device-init.c
+--- linux-4.4.56.orig/arch/powerpc/platforms/ps3/device-init.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/powerpc/platforms/ps3/device-init.c 2017-03-23 07:59:27.951523049 +0100
@@ -752,7 +752,7 @@
}
pr_debug("%s:%u: notification %s issued\n", __func__, __LINE__, op);
@@ -1673,9 +1703,9 @@ diff -Nur linux-4.4.46.orig/arch/powerpc/platforms/ps3/device-init.c linux-4.4.4
dev->done.done || kthread_should_stop());
if (kthread_should_stop())
res = -EINTR;
-diff -Nur linux-4.4.46.orig/arch/s390/include/asm/kvm_host.h linux-4.4.46/arch/s390/include/asm/kvm_host.h
---- linux-4.4.46.orig/arch/s390/include/asm/kvm_host.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/s390/include/asm/kvm_host.h 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/s390/include/asm/kvm_host.h linux-4.4.56/arch/s390/include/asm/kvm_host.h
+--- linux-4.4.56.orig/arch/s390/include/asm/kvm_host.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/s390/include/asm/kvm_host.h 2017-03-23 07:59:27.951523049 +0100
@@ -427,7 +427,7 @@
struct kvm_s390_local_interrupt {
spinlock_t lock;
@@ -1685,9 +1715,9 @@ diff -Nur linux-4.4.46.orig/arch/s390/include/asm/kvm_host.h linux-4.4.46/arch/s
atomic_t *cpuflags;
DECLARE_BITMAP(sigp_emerg_pending, KVM_MAX_VCPUS);
struct kvm_s390_irq_payload irq;
-diff -Nur linux-4.4.46.orig/arch/s390/kvm/interrupt.c linux-4.4.46/arch/s390/kvm/interrupt.c
---- linux-4.4.46.orig/arch/s390/kvm/interrupt.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/s390/kvm/interrupt.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/s390/kvm/interrupt.c linux-4.4.56/arch/s390/kvm/interrupt.c
+--- linux-4.4.56.orig/arch/s390/kvm/interrupt.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/s390/kvm/interrupt.c 2017-03-23 07:59:27.951523049 +0100
@@ -868,13 +868,13 @@
void kvm_s390_vcpu_wakeup(struct kvm_vcpu *vcpu)
@@ -1704,9 +1734,9 @@ diff -Nur linux-4.4.46.orig/arch/s390/kvm/interrupt.c linux-4.4.46/arch/s390/kvm
vcpu->stat.halt_wakeup++;
}
}
-diff -Nur linux-4.4.46.orig/arch/sh/kernel/irq.c linux-4.4.46/arch/sh/kernel/irq.c
---- linux-4.4.46.orig/arch/sh/kernel/irq.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/sh/kernel/irq.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/sh/kernel/irq.c linux-4.4.56/arch/sh/kernel/irq.c
+--- linux-4.4.56.orig/arch/sh/kernel/irq.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/sh/kernel/irq.c 2017-03-23 07:59:27.951523049 +0100
@@ -147,6 +147,7 @@
hardirq_ctx[cpu] = NULL;
}
@@ -1723,9 +1753,9 @@ diff -Nur linux-4.4.46.orig/arch/sh/kernel/irq.c linux-4.4.46/arch/sh/kernel/irq
#else
static inline void handle_one_irq(unsigned int irq)
{
-diff -Nur linux-4.4.46.orig/arch/sparc/Kconfig linux-4.4.46/arch/sparc/Kconfig
---- linux-4.4.46.orig/arch/sparc/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/sparc/Kconfig 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/sparc/Kconfig linux-4.4.56/arch/sparc/Kconfig
+--- linux-4.4.56.orig/arch/sparc/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/sparc/Kconfig 2017-03-23 07:59:27.951523049 +0100
@@ -189,12 +189,10 @@
source kernel/Kconfig.hz
@@ -1741,9 +1771,9 @@ diff -Nur linux-4.4.46.orig/arch/sparc/Kconfig linux-4.4.46/arch/sparc/Kconfig
config GENERIC_HWEIGHT
bool
-diff -Nur linux-4.4.46.orig/arch/sparc/kernel/irq_64.c linux-4.4.46/arch/sparc/kernel/irq_64.c
---- linux-4.4.46.orig/arch/sparc/kernel/irq_64.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/sparc/kernel/irq_64.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/sparc/kernel/irq_64.c linux-4.4.56/arch/sparc/kernel/irq_64.c
+--- linux-4.4.56.orig/arch/sparc/kernel/irq_64.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/sparc/kernel/irq_64.c 2017-03-23 07:59:27.951523049 +0100
@@ -854,6 +854,7 @@
set_irq_regs(old_regs);
}
@@ -1760,9 +1790,9 @@ diff -Nur linux-4.4.46.orig/arch/sparc/kernel/irq_64.c linux-4.4.46/arch/sparc/k
#ifdef CONFIG_HOTPLUG_CPU
void fixup_irqs(void)
-diff -Nur linux-4.4.46.orig/arch/x86/crypto/aesni-intel_glue.c linux-4.4.46/arch/x86/crypto/aesni-intel_glue.c
---- linux-4.4.46.orig/arch/x86/crypto/aesni-intel_glue.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/crypto/aesni-intel_glue.c 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/crypto/aesni-intel_glue.c linux-4.4.56/arch/x86/crypto/aesni-intel_glue.c
+--- linux-4.4.56.orig/arch/x86/crypto/aesni-intel_glue.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/crypto/aesni-intel_glue.c 2017-03-23 07:59:27.951523049 +0100
@@ -383,14 +383,14 @@
err = blkcipher_walk_virt(desc, &walk);
desc->flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP;
@@ -1855,9 +1885,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/crypto/aesni-intel_glue.c linux-4.4.46/arch
return err;
}
-diff -Nur linux-4.4.46.orig/arch/x86/crypto/cast5_avx_glue.c linux-4.4.46/arch/x86/crypto/cast5_avx_glue.c
---- linux-4.4.46.orig/arch/x86/crypto/cast5_avx_glue.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/crypto/cast5_avx_glue.c 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/crypto/cast5_avx_glue.c linux-4.4.56/arch/x86/crypto/cast5_avx_glue.c
+--- linux-4.4.56.orig/arch/x86/crypto/cast5_avx_glue.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/crypto/cast5_avx_glue.c 2017-03-23 07:59:27.951523049 +0100
@@ -59,7 +59,7 @@
static int ecb_crypt(struct blkcipher_desc *desc, struct blkcipher_walk *walk,
bool enc)
@@ -1937,9 +1967,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/crypto/cast5_avx_glue.c linux-4.4.46/arch/x
if (walk.nbytes) {
ctr_crypt_final(desc, &walk);
err = blkcipher_walk_done(desc, &walk, 0);
-diff -Nur linux-4.4.46.orig/arch/x86/crypto/glue_helper.c linux-4.4.46/arch/x86/crypto/glue_helper.c
---- linux-4.4.46.orig/arch/x86/crypto/glue_helper.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/crypto/glue_helper.c 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/crypto/glue_helper.c linux-4.4.56/arch/x86/crypto/glue_helper.c
+--- linux-4.4.56.orig/arch/x86/crypto/glue_helper.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/crypto/glue_helper.c 2017-03-23 07:59:27.955523207 +0100
@@ -39,7 +39,7 @@
void *ctx = crypto_blkcipher_ctx(desc->tfm);
const unsigned int bsize = 128 / 8;
@@ -2055,9 +2085,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/crypto/glue_helper.c linux-4.4.46/arch/x86/
return err;
}
EXPORT_SYMBOL_GPL(glue_xts_crypt_128bit);
-diff -Nur linux-4.4.46.orig/arch/x86/entry/common.c linux-4.4.46/arch/x86/entry/common.c
---- linux-4.4.46.orig/arch/x86/entry/common.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/entry/common.c 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/entry/common.c linux-4.4.56/arch/x86/entry/common.c
+--- linux-4.4.56.orig/arch/x86/entry/common.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/entry/common.c 2017-03-23 07:59:27.955523207 +0100
@@ -220,7 +220,7 @@
#define EXIT_TO_USERMODE_LOOP_FLAGS \
@@ -2085,9 +2115,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/entry/common.c linux-4.4.46/arch/x86/entry/
if (cached_flags & _TIF_UPROBE)
uprobe_notify_resume(regs);
-diff -Nur linux-4.4.46.orig/arch/x86/entry/entry_32.S linux-4.4.46/arch/x86/entry/entry_32.S
---- linux-4.4.46.orig/arch/x86/entry/entry_32.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/entry/entry_32.S 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/entry/entry_32.S linux-4.4.56/arch/x86/entry/entry_32.S
+--- linux-4.4.56.orig/arch/x86/entry/entry_32.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/entry/entry_32.S 2017-03-23 07:59:27.955523207 +0100
@@ -278,8 +278,24 @@
ENTRY(resume_kernel)
DISABLE_INTERRUPTS(CLBR_ANY)
@@ -2113,9 +2143,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/entry/entry_32.S linux-4.4.46/arch/x86/entr
testl $X86_EFLAGS_IF, PT_EFLAGS(%esp) # interrupts off (exception path) ?
jz restore_all
call preempt_schedule_irq
-diff -Nur linux-4.4.46.orig/arch/x86/entry/entry_64.S linux-4.4.46/arch/x86/entry/entry_64.S
---- linux-4.4.46.orig/arch/x86/entry/entry_64.S 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/entry/entry_64.S 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/entry/entry_64.S linux-4.4.56/arch/x86/entry/entry_64.S
+--- linux-4.4.56.orig/arch/x86/entry/entry_64.S 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/entry/entry_64.S 2017-03-23 07:59:27.955523207 +0100
@@ -579,7 +579,23 @@
bt $9, EFLAGS(%rsp) /* were interrupts off? */
jnc 1f
@@ -2156,9 +2186,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/entry/entry_64.S linux-4.4.46/arch/x86/entr
#ifdef CONFIG_XEN
idtentry xen_hypervisor_callback xen_do_hypervisor_callback has_error_code=0
-diff -Nur linux-4.4.46.orig/arch/x86/include/asm/preempt.h linux-4.4.46/arch/x86/include/asm/preempt.h
---- linux-4.4.46.orig/arch/x86/include/asm/preempt.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/include/asm/preempt.h 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/include/asm/preempt.h linux-4.4.56/arch/x86/include/asm/preempt.h
+--- linux-4.4.56.orig/arch/x86/include/asm/preempt.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/include/asm/preempt.h 2017-03-23 07:59:27.955523207 +0100
@@ -79,17 +79,46 @@
* a decrement which hits zero means we have no preempt_count and should
* reschedule.
@@ -2207,9 +2237,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/include/asm/preempt.h linux-4.4.46/arch/x86
}
#ifdef CONFIG_PREEMPT
-diff -Nur linux-4.4.46.orig/arch/x86/include/asm/signal.h linux-4.4.46/arch/x86/include/asm/signal.h
---- linux-4.4.46.orig/arch/x86/include/asm/signal.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/include/asm/signal.h 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/include/asm/signal.h linux-4.4.56/arch/x86/include/asm/signal.h
+--- linux-4.4.56.orig/arch/x86/include/asm/signal.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/include/asm/signal.h 2017-03-23 07:59:27.955523207 +0100
@@ -23,6 +23,19 @@
unsigned long sig[_NSIG_WORDS];
} sigset_t;
@@ -2230,9 +2260,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/include/asm/signal.h linux-4.4.46/arch/x86/
#ifndef CONFIG_COMPAT
typedef sigset_t compat_sigset_t;
#endif
-diff -Nur linux-4.4.46.orig/arch/x86/include/asm/stackprotector.h linux-4.4.46/arch/x86/include/asm/stackprotector.h
---- linux-4.4.46.orig/arch/x86/include/asm/stackprotector.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/include/asm/stackprotector.h 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/include/asm/stackprotector.h linux-4.4.56/arch/x86/include/asm/stackprotector.h
+--- linux-4.4.56.orig/arch/x86/include/asm/stackprotector.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/include/asm/stackprotector.h 2017-03-23 07:59:27.955523207 +0100
@@ -59,7 +59,7 @@
*/
static __always_inline void boot_init_stack_canary(void)
@@ -2258,9 +2288,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/include/asm/stackprotector.h linux-4.4.46/a
tsc = rdtsc();
canary += tsc + (tsc << 32UL);
-diff -Nur linux-4.4.46.orig/arch/x86/include/asm/thread_info.h linux-4.4.46/arch/x86/include/asm/thread_info.h
---- linux-4.4.46.orig/arch/x86/include/asm/thread_info.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/include/asm/thread_info.h 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/include/asm/thread_info.h linux-4.4.56/arch/x86/include/asm/thread_info.h
+--- linux-4.4.56.orig/arch/x86/include/asm/thread_info.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/include/asm/thread_info.h 2017-03-23 07:59:27.955523207 +0100
@@ -58,6 +58,8 @@
__u32 status; /* thread synchronous flags */
__u32 cpu; /* current CPU */
@@ -2295,9 +2325,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/include/asm/thread_info.h linux-4.4.46/arch
#define STACK_WARN (THREAD_SIZE/8)
/*
-diff -Nur linux-4.4.46.orig/arch/x86/include/asm/uv/uv_bau.h linux-4.4.46/arch/x86/include/asm/uv/uv_bau.h
---- linux-4.4.46.orig/arch/x86/include/asm/uv/uv_bau.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/include/asm/uv/uv_bau.h 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/include/asm/uv/uv_bau.h linux-4.4.56/arch/x86/include/asm/uv/uv_bau.h
+--- linux-4.4.56.orig/arch/x86/include/asm/uv/uv_bau.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/include/asm/uv/uv_bau.h 2017-03-23 07:59:27.955523207 +0100
@@ -615,9 +615,9 @@
cycles_t send_message;
cycles_t period_end;
@@ -2331,9 +2361,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/include/asm/uv/uv_bau.h linux-4.4.46/arch/x
return 1;
}
-diff -Nur linux-4.4.46.orig/arch/x86/include/asm/uv/uv_hub.h linux-4.4.46/arch/x86/include/asm/uv/uv_hub.h
---- linux-4.4.46.orig/arch/x86/include/asm/uv/uv_hub.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/include/asm/uv/uv_hub.h 2017-02-03 17:18:05.647415094 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/include/asm/uv/uv_hub.h linux-4.4.56/arch/x86/include/asm/uv/uv_hub.h
+--- linux-4.4.56.orig/arch/x86/include/asm/uv/uv_hub.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/include/asm/uv/uv_hub.h 2017-03-23 07:59:27.955523207 +0100
@@ -492,7 +492,7 @@
unsigned short nr_online_cpus;
unsigned short pnode;
@@ -2343,9 +2373,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/include/asm/uv/uv_hub.h linux-4.4.46/arch/x
unsigned long nmi_count; /* obsolete, see uv_hub_nmi */
};
extern struct uv_blade_info *uv_blade_info;
-diff -Nur linux-4.4.46.orig/arch/x86/Kconfig linux-4.4.46/arch/x86/Kconfig
---- linux-4.4.46.orig/arch/x86/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/Kconfig 2017-02-03 17:18:05.643414939 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/Kconfig linux-4.4.56/arch/x86/Kconfig
+--- linux-4.4.56.orig/arch/x86/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/Kconfig 2017-03-23 07:59:27.951523049 +0100
@@ -17,6 +17,7 @@
### Arch settings
config X86
@@ -2376,9 +2406,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/Kconfig linux-4.4.46/arch/x86/Kconfig
---help---
Enable maximum number of CPUS and NUMA Nodes for this architecture.
If unsure, say N.
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/acpi/boot.c linux-4.4.46/arch/x86/kernel/acpi/boot.c
---- linux-4.4.46.orig/arch/x86/kernel/acpi/boot.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/acpi/boot.c 2017-02-03 17:18:05.655415404 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/acpi/boot.c linux-4.4.56/arch/x86/kernel/acpi/boot.c
+--- linux-4.4.56.orig/arch/x86/kernel/acpi/boot.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/acpi/boot.c 2017-03-23 07:59:27.955523207 +0100
@@ -87,7 +87,9 @@
* ->ioapic_mutex
* ->ioapic_lock
@@ -2389,9 +2419,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/acpi/boot.c linux-4.4.46/arch/x86/ke
/* --------------------------------------------------------------------------
Boot-time Configuration
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/apic/io_apic.c linux-4.4.46/arch/x86/kernel/apic/io_apic.c
---- linux-4.4.46.orig/arch/x86/kernel/apic/io_apic.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/apic/io_apic.c 2017-02-03 17:18:05.655415404 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/apic/io_apic.c linux-4.4.56/arch/x86/kernel/apic/io_apic.c
+--- linux-4.4.56.orig/arch/x86/kernel/apic/io_apic.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/apic/io_apic.c 2017-03-23 07:59:27.955523207 +0100
@@ -1711,7 +1711,8 @@
static inline bool ioapic_irqd_mask(struct irq_data *data)
{
@@ -2402,9 +2432,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/apic/io_apic.c linux-4.4.46/arch/x86
mask_ioapic_irq(data);
return true;
}
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/apic/x2apic_uv_x.c linux-4.4.46/arch/x86/kernel/apic/x2apic_uv_x.c
---- linux-4.4.46.orig/arch/x86/kernel/apic/x2apic_uv_x.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/apic/x2apic_uv_x.c 2017-02-03 17:18:05.655415404 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/apic/x2apic_uv_x.c linux-4.4.56/arch/x86/kernel/apic/x2apic_uv_x.c
+--- linux-4.4.56.orig/arch/x86/kernel/apic/x2apic_uv_x.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/apic/x2apic_uv_x.c 2017-03-23 07:59:27.955523207 +0100
@@ -947,7 +947,7 @@
uv_blade_info[blade].pnode = pnode;
uv_blade_info[blade].nr_possible_cpus = 0;
@@ -2414,9 +2444,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/apic/x2apic_uv_x.c linux-4.4.46/arch
min_pnode = min(pnode, min_pnode);
max_pnode = max(pnode, max_pnode);
blade++;
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/asm-offsets.c linux-4.4.46/arch/x86/kernel/asm-offsets.c
---- linux-4.4.46.orig/arch/x86/kernel/asm-offsets.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/asm-offsets.c 2017-02-03 17:18:05.655415404 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/asm-offsets.c linux-4.4.56/arch/x86/kernel/asm-offsets.c
+--- linux-4.4.56.orig/arch/x86/kernel/asm-offsets.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/asm-offsets.c 2017-03-23 07:59:27.955523207 +0100
@@ -32,6 +32,7 @@
OFFSET(TI_flags, thread_info, flags);
OFFSET(TI_status, thread_info, status);
@@ -2431,9 +2461,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/asm-offsets.c linux-4.4.46/arch/x86/
DEFINE(PTREGS_SIZE, sizeof(struct pt_regs));
+ DEFINE(_PREEMPT_ENABLED, PREEMPT_ENABLED);
}
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/cpu/mcheck/mce.c linux-4.4.46/arch/x86/kernel/cpu/mcheck/mce.c
---- linux-4.4.46.orig/arch/x86/kernel/cpu/mcheck/mce.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/cpu/mcheck/mce.c 2017-02-03 17:18:05.659415557 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/cpu/mcheck/mce.c linux-4.4.56/arch/x86/kernel/cpu/mcheck/mce.c
+--- linux-4.4.56.orig/arch/x86/kernel/cpu/mcheck/mce.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/cpu/mcheck/mce.c 2017-03-23 07:59:27.955523207 +0100
@@ -41,6 +41,8 @@
#include <linux/debugfs.h>
#include <linux/irq_work.h>
@@ -2675,9 +2705,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/cpu/mcheck/mce.c linux-4.4.46/arch/x
if (!zalloc_cpumask_var(&mce_device_initialized, GFP_KERNEL)) {
err = -ENOMEM;
goto err_out;
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/cpu/perf_event_intel_rapl.c linux-4.4.46/arch/x86/kernel/cpu/perf_event_intel_rapl.c
---- linux-4.4.46.orig/arch/x86/kernel/cpu/perf_event_intel_rapl.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/cpu/perf_event_intel_rapl.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/cpu/perf_event_intel_rapl.c linux-4.4.56/arch/x86/kernel/cpu/perf_event_intel_rapl.c
+--- linux-4.4.56.orig/arch/x86/kernel/cpu/perf_event_intel_rapl.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/cpu/perf_event_intel_rapl.c 2017-03-23 07:59:27.955523207 +0100
@@ -117,7 +117,7 @@
};
@@ -2759,9 +2789,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/cpu/perf_event_intel_rapl.c linux-4.
INIT_LIST_HEAD(&pmu->active_list);
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/dumpstack_32.c linux-4.4.46/arch/x86/kernel/dumpstack_32.c
---- linux-4.4.46.orig/arch/x86/kernel/dumpstack_32.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/dumpstack_32.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/dumpstack_32.c linux-4.4.56/arch/x86/kernel/dumpstack_32.c
+--- linux-4.4.56.orig/arch/x86/kernel/dumpstack_32.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/dumpstack_32.c 2017-03-23 07:59:27.955523207 +0100
@@ -42,7 +42,7 @@
unsigned long *stack, unsigned long bp,
const struct stacktrace_ops *ops, void *data)
@@ -2780,9 +2810,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/dumpstack_32.c linux-4.4.46/arch/x86
}
EXPORT_SYMBOL(dump_trace);
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/dumpstack_64.c linux-4.4.46/arch/x86/kernel/dumpstack_64.c
---- linux-4.4.46.orig/arch/x86/kernel/dumpstack_64.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/dumpstack_64.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/dumpstack_64.c linux-4.4.56/arch/x86/kernel/dumpstack_64.c
+--- linux-4.4.56.orig/arch/x86/kernel/dumpstack_64.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/dumpstack_64.c 2017-03-23 07:59:27.955523207 +0100
@@ -152,7 +152,7 @@
unsigned long *stack, unsigned long bp,
const struct stacktrace_ops *ops, void *data)
@@ -2819,9 +2849,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/dumpstack_64.c linux-4.4.46/arch/x86
pr_cont("\n");
show_trace_log_lvl(task, regs, sp, bp, log_lvl);
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/irq_32.c linux-4.4.46/arch/x86/kernel/irq_32.c
---- linux-4.4.46.orig/arch/x86/kernel/irq_32.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/irq_32.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/irq_32.c linux-4.4.56/arch/x86/kernel/irq_32.c
+--- linux-4.4.56.orig/arch/x86/kernel/irq_32.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/irq_32.c 2017-03-23 07:59:27.955523207 +0100
@@ -128,6 +128,7 @@
cpu, per_cpu(hardirq_stack, cpu), per_cpu(softirq_stack, cpu));
}
@@ -2838,9 +2868,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/irq_32.c linux-4.4.46/arch/x86/kerne
bool handle_irq(struct irq_desc *desc, struct pt_regs *regs)
{
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/kvm.c linux-4.4.46/arch/x86/kernel/kvm.c
---- linux-4.4.46.orig/arch/x86/kernel/kvm.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/kvm.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/kvm.c linux-4.4.56/arch/x86/kernel/kvm.c
+--- linux-4.4.56.orig/arch/x86/kernel/kvm.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/kvm.c 2017-03-23 07:59:27.955523207 +0100
@@ -36,6 +36,7 @@
#include <linux/kprobes.h>
#include <linux/debugfs.h>
@@ -2980,9 +3010,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/kvm.c linux-4.4.46/arch/x86/kernel/k
if (kvm_para_has_feature(KVM_FEATURE_ASYNC_PF))
x86_init.irqs.trap_init = kvm_apf_trap_init;
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/nmi.c linux-4.4.46/arch/x86/kernel/nmi.c
---- linux-4.4.46.orig/arch/x86/kernel/nmi.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/nmi.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/nmi.c linux-4.4.56/arch/x86/kernel/nmi.c
+--- linux-4.4.56.orig/arch/x86/kernel/nmi.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/nmi.c 2017-03-23 07:59:27.959523423 +0100
@@ -231,7 +231,7 @@
#endif
@@ -3020,9 +3050,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/nmi.c linux-4.4.46/arch/x86/kernel/n
pr_emerg("Dazed and confused, but trying to continue\n");
}
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/process_32.c linux-4.4.46/arch/x86/kernel/process_32.c
---- linux-4.4.46.orig/arch/x86/kernel/process_32.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/process_32.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/process_32.c linux-4.4.56/arch/x86/kernel/process_32.c
+--- linux-4.4.56.orig/arch/x86/kernel/process_32.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/process_32.c 2017-03-23 07:59:27.959523423 +0100
@@ -35,6 +35,7 @@
#include <linux/uaccess.h>
#include <linux/io.h>
@@ -3076,9 +3106,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/process_32.c linux-4.4.46/arch/x86/k
/*
* Leave lazy mode, flushing any hypercalls made here.
* This must be done before restoring TLS segments so
-diff -Nur linux-4.4.46.orig/arch/x86/kernel/reboot.c linux-4.4.46/arch/x86/kernel/reboot.c
---- linux-4.4.46.orig/arch/x86/kernel/reboot.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kernel/reboot.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kernel/reboot.c linux-4.4.56/arch/x86/kernel/reboot.c
+--- linux-4.4.56.orig/arch/x86/kernel/reboot.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kernel/reboot.c 2017-03-23 07:59:27.959523423 +0100
@@ -726,6 +726,7 @@
static nmi_shootdown_cb shootdown_callback;
@@ -3120,9 +3150,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kernel/reboot.c linux-4.4.46/arch/x86/kerne
#else /* !CONFIG_SMP */
void nmi_shootdown_cpus(nmi_shootdown_cb callback)
{
-diff -Nur linux-4.4.46.orig/arch/x86/kvm/lapic.c linux-4.4.46/arch/x86/kvm/lapic.c
---- linux-4.4.46.orig/arch/x86/kvm/lapic.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kvm/lapic.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/kvm/lapic.c linux-4.4.56/arch/x86/kvm/lapic.c
+--- linux-4.4.56.orig/arch/x86/kvm/lapic.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kvm/lapic.c 2017-03-23 07:59:27.959523423 +0100
@@ -1195,7 +1195,7 @@
static void apic_timer_expired(struct kvm_lapic *apic)
{
@@ -3151,10 +3181,10 @@ diff -Nur linux-4.4.46.orig/arch/x86/kvm/lapic.c linux-4.4.46/arch/x86/kvm/lapic
/*
* APIC is created enabled. This will prevent kvm_lapic_set_base from
-diff -Nur linux-4.4.46.orig/arch/x86/kvm/x86.c linux-4.4.46/arch/x86/kvm/x86.c
---- linux-4.4.46.orig/arch/x86/kvm/x86.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/kvm/x86.c 2017-02-03 17:18:05.663415712 +0100
-@@ -5809,6 +5809,13 @@
+diff -Nur linux-4.4.56.orig/arch/x86/kvm/x86.c linux-4.4.56/arch/x86/kvm/x86.c
+--- linux-4.4.56.orig/arch/x86/kvm/x86.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/kvm/x86.c 2017-03-23 07:59:27.959523423 +0100
+@@ -5810,6 +5810,13 @@
goto out;
}
@@ -3168,9 +3198,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/kvm/x86.c linux-4.4.46/arch/x86/kvm/x86.c
r = kvm_mmu_module_init();
if (r)
goto out_free_percpu;
-diff -Nur linux-4.4.46.orig/arch/x86/mm/highmem_32.c linux-4.4.46/arch/x86/mm/highmem_32.c
---- linux-4.4.46.orig/arch/x86/mm/highmem_32.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/mm/highmem_32.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/mm/highmem_32.c linux-4.4.56/arch/x86/mm/highmem_32.c
+--- linux-4.4.56.orig/arch/x86/mm/highmem_32.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/mm/highmem_32.c 2017-03-23 07:59:27.959523423 +0100
@@ -32,10 +32,11 @@
*/
void *kmap_atomic_prot(struct page *page, pgprot_t prot)
@@ -3215,9 +3245,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/mm/highmem_32.c linux-4.4.46/arch/x86/mm/hi
}
EXPORT_SYMBOL(__kunmap_atomic);
-diff -Nur linux-4.4.46.orig/arch/x86/mm/iomap_32.c linux-4.4.46/arch/x86/mm/iomap_32.c
---- linux-4.4.46.orig/arch/x86/mm/iomap_32.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/mm/iomap_32.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/mm/iomap_32.c linux-4.4.56/arch/x86/mm/iomap_32.c
+--- linux-4.4.56.orig/arch/x86/mm/iomap_32.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/mm/iomap_32.c 2017-03-23 07:59:27.959523423 +0100
@@ -56,6 +56,7 @@
void *kmap_atomic_prot_pfn(unsigned long pfn, pgprot_t prot)
@@ -3250,9 +3280,28 @@ diff -Nur linux-4.4.46.orig/arch/x86/mm/iomap_32.c linux-4.4.46/arch/x86/mm/ioma
kpte_clear_flush(kmap_pte-idx, vaddr);
kmap_atomic_idx_pop();
}
-diff -Nur linux-4.4.46.orig/arch/x86/platform/uv/tlb_uv.c linux-4.4.46/arch/x86/platform/uv/tlb_uv.c
---- linux-4.4.46.orig/arch/x86/platform/uv/tlb_uv.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/platform/uv/tlb_uv.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/mm/pageattr.c linux-4.4.56/arch/x86/mm/pageattr.c
+--- linux-4.4.56.orig/arch/x86/mm/pageattr.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/mm/pageattr.c 2017-03-23 07:59:27.959523423 +0100
+@@ -208,7 +208,15 @@
+ int in_flags, struct page **pages)
+ {
+ unsigned int i, level;
++#ifdef CONFIG_PREEMPT
++ /*
++ * Avoid wbinvd() because it causes latencies on all CPUs,
++ * regardless of any CPU isolation that may be in effect.
++ */
++ unsigned long do_wbinvd = 0;
++#else
+ unsigned long do_wbinvd = cache && numpages >= 1024; /* 4M threshold */
++#endif
+
+ BUG_ON(irqs_disabled());
+
+diff -Nur linux-4.4.56.orig/arch/x86/platform/uv/tlb_uv.c linux-4.4.56/arch/x86/platform/uv/tlb_uv.c
+--- linux-4.4.56.orig/arch/x86/platform/uv/tlb_uv.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/platform/uv/tlb_uv.c 2017-03-23 07:59:27.959523423 +0100
@@ -714,9 +714,9 @@
quiesce_local_uvhub(hmaster);
@@ -3339,9 +3388,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/platform/uv/tlb_uv.c linux-4.4.46/arch/x86/
}
}
-diff -Nur linux-4.4.46.orig/arch/x86/platform/uv/uv_time.c linux-4.4.46/arch/x86/platform/uv/uv_time.c
---- linux-4.4.46.orig/arch/x86/platform/uv/uv_time.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/arch/x86/platform/uv/uv_time.c 2017-02-03 17:18:05.663415712 +0100
+diff -Nur linux-4.4.56.orig/arch/x86/platform/uv/uv_time.c linux-4.4.56/arch/x86/platform/uv/uv_time.c
+--- linux-4.4.56.orig/arch/x86/platform/uv/uv_time.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/arch/x86/platform/uv/uv_time.c 2017-03-23 07:59:27.959523423 +0100
@@ -57,7 +57,7 @@
/* There is one of these allocated per node */
@@ -3422,9 +3471,9 @@ diff -Nur linux-4.4.46.orig/arch/x86/platform/uv/uv_time.c linux-4.4.46/arch/x86
}
/*
-diff -Nur linux-4.4.46.orig/block/blk-core.c linux-4.4.46/block/blk-core.c
---- linux-4.4.46.orig/block/blk-core.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/blk-core.c 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/blk-core.c linux-4.4.56/block/blk-core.c
+--- linux-4.4.56.orig/block/blk-core.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/blk-core.c 2017-03-23 07:59:27.959523423 +0100
@@ -125,6 +125,9 @@
INIT_LIST_HEAD(&rq->queuelist);
@@ -3518,9 +3567,9 @@ diff -Nur linux-4.4.46.orig/block/blk-core.c linux-4.4.46/block/blk-core.c
}
void blk_finish_plug(struct blk_plug *plug)
-diff -Nur linux-4.4.46.orig/block/blk-ioc.c linux-4.4.46/block/blk-ioc.c
---- linux-4.4.46.orig/block/blk-ioc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/blk-ioc.c 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/blk-ioc.c linux-4.4.56/block/blk-ioc.c
+--- linux-4.4.56.orig/block/blk-ioc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/blk-ioc.c 2017-03-23 07:59:27.959523423 +0100
@@ -7,6 +7,7 @@
#include <linux/bio.h>
#include <linux/blkdev.h>
@@ -3547,9 +3596,9 @@ diff -Nur linux-4.4.46.orig/block/blk-ioc.c linux-4.4.46/block/blk-ioc.c
goto retry;
}
}
-diff -Nur linux-4.4.46.orig/block/blk-iopoll.c linux-4.4.46/block/blk-iopoll.c
---- linux-4.4.46.orig/block/blk-iopoll.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/blk-iopoll.c 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/blk-iopoll.c linux-4.4.56/block/blk-iopoll.c
+--- linux-4.4.56.orig/block/blk-iopoll.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/blk-iopoll.c 2017-03-23 07:59:27.959523423 +0100
@@ -35,6 +35,7 @@
list_add_tail(&iop->list, this_cpu_ptr(&blk_cpu_iopoll));
__raise_softirq_irqoff(BLOCK_IOPOLL_SOFTIRQ);
@@ -3574,9 +3623,9 @@ diff -Nur linux-4.4.46.orig/block/blk-iopoll.c linux-4.4.46/block/blk-iopoll.c
}
return NOTIFY_OK;
-diff -Nur linux-4.4.46.orig/block/blk-mq.c linux-4.4.46/block/blk-mq.c
---- linux-4.4.46.orig/block/blk-mq.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/blk-mq.c 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/blk-mq.c linux-4.4.56/block/blk-mq.c
+--- linux-4.4.56.orig/block/blk-mq.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/blk-mq.c 2017-03-23 07:59:27.963523618 +0100
@@ -92,7 +92,7 @@
static void blk_mq_freeze_queue_wait(struct request_queue *q)
@@ -3685,7 +3734,7 @@ diff -Nur linux-4.4.46.orig/block/blk-mq.c linux-4.4.46/block/blk-mq.c
}
kblockd_schedule_delayed_work_on(blk_mq_hctx_next_cpu(hctx),
-@@ -1617,7 +1637,7 @@
+@@ -1616,7 +1636,7 @@
{
struct blk_mq_hw_ctx *hctx = data;
@@ -3694,9 +3743,9 @@ diff -Nur linux-4.4.46.orig/block/blk-mq.c linux-4.4.46/block/blk-mq.c
return blk_mq_hctx_cpu_offline(hctx, cpu);
/*
-diff -Nur linux-4.4.46.orig/block/blk-mq-cpu.c linux-4.4.46/block/blk-mq-cpu.c
---- linux-4.4.46.orig/block/blk-mq-cpu.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/blk-mq-cpu.c 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/blk-mq-cpu.c linux-4.4.56/block/blk-mq-cpu.c
+--- linux-4.4.56.orig/block/blk-mq-cpu.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/blk-mq-cpu.c 2017-03-23 07:59:27.959523423 +0100
@@ -16,7 +16,7 @@
#include "blk-mq.h"
@@ -3748,9 +3797,9 @@ diff -Nur linux-4.4.46.orig/block/blk-mq-cpu.c linux-4.4.46/block/blk-mq-cpu.c
}
void blk_mq_init_cpu_notifier(struct blk_mq_cpu_notifier *notifier,
-diff -Nur linux-4.4.46.orig/block/blk-mq.h linux-4.4.46/block/blk-mq.h
---- linux-4.4.46.orig/block/blk-mq.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/blk-mq.h 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/blk-mq.h linux-4.4.56/block/blk-mq.h
+--- linux-4.4.56.orig/block/blk-mq.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/blk-mq.h 2017-03-23 07:59:27.963523618 +0100
@@ -74,7 +74,10 @@
static inline struct blk_mq_ctx *__blk_mq_get_ctx(struct request_queue *q,
unsigned int cpu)
@@ -3778,9 +3827,9 @@ diff -Nur linux-4.4.46.orig/block/blk-mq.h linux-4.4.46/block/blk-mq.h
}
struct blk_mq_alloc_data {
-diff -Nur linux-4.4.46.orig/block/blk-softirq.c linux-4.4.46/block/blk-softirq.c
---- linux-4.4.46.orig/block/blk-softirq.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/blk-softirq.c 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/blk-softirq.c linux-4.4.56/block/blk-softirq.c
+--- linux-4.4.56.orig/block/blk-softirq.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/blk-softirq.c 2017-03-23 07:59:27.963523618 +0100
@@ -51,6 +51,7 @@
raise_softirq_irqoff(BLOCK_SOFTIRQ);
@@ -3805,9 +3854,9 @@ diff -Nur linux-4.4.46.orig/block/blk-softirq.c linux-4.4.46/block/blk-softirq.c
}
/**
-diff -Nur linux-4.4.46.orig/block/bounce.c linux-4.4.46/block/bounce.c
---- linux-4.4.46.orig/block/bounce.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/block/bounce.c 2017-02-03 17:18:05.667415866 +0100
+diff -Nur linux-4.4.56.orig/block/bounce.c linux-4.4.56/block/bounce.c
+--- linux-4.4.56.orig/block/bounce.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/block/bounce.c 2017-03-23 07:59:27.963523618 +0100
@@ -55,11 +55,11 @@
unsigned long flags;
unsigned char *vto;
@@ -3822,10 +3871,10 @@ diff -Nur linux-4.4.46.orig/block/bounce.c linux-4.4.46/block/bounce.c
}
#else /* CONFIG_HIGHMEM */
-diff -Nur linux-4.4.46.orig/crypto/algapi.c linux-4.4.46/crypto/algapi.c
---- linux-4.4.46.orig/crypto/algapi.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/crypto/algapi.c 2017-02-03 17:18:05.667415866 +0100
-@@ -719,13 +719,13 @@
+diff -Nur linux-4.4.56.orig/crypto/algapi.c linux-4.4.56/crypto/algapi.c
+--- linux-4.4.56.orig/crypto/algapi.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/crypto/algapi.c 2017-03-23 07:59:27.963523618 +0100
+@@ -720,13 +720,13 @@
int crypto_register_notifier(struct notifier_block *nb)
{
@@ -3841,9 +3890,9 @@ diff -Nur linux-4.4.46.orig/crypto/algapi.c linux-4.4.46/crypto/algapi.c
}
EXPORT_SYMBOL_GPL(crypto_unregister_notifier);
-diff -Nur linux-4.4.46.orig/crypto/api.c linux-4.4.46/crypto/api.c
---- linux-4.4.46.orig/crypto/api.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/crypto/api.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/crypto/api.c linux-4.4.56/crypto/api.c
+--- linux-4.4.56.orig/crypto/api.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/crypto/api.c 2017-03-23 07:59:27.963523618 +0100
@@ -31,7 +31,7 @@
DECLARE_RWSEM(crypto_alg_sem);
EXPORT_SYMBOL_GPL(crypto_alg_sem);
@@ -3866,9 +3915,9 @@ diff -Nur linux-4.4.46.orig/crypto/api.c linux-4.4.46/crypto/api.c
}
return ok;
-diff -Nur linux-4.4.46.orig/crypto/internal.h linux-4.4.46/crypto/internal.h
---- linux-4.4.46.orig/crypto/internal.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/crypto/internal.h 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/crypto/internal.h linux-4.4.56/crypto/internal.h
+--- linux-4.4.56.orig/crypto/internal.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/crypto/internal.h 2017-03-23 07:59:27.963523618 +0100
@@ -47,7 +47,7 @@
extern struct list_head crypto_alg_list;
@@ -3887,9 +3936,9 @@ diff -Nur linux-4.4.46.orig/crypto/internal.h linux-4.4.46/crypto/internal.h
}
#endif /* _CRYPTO_INTERNAL_H */
-diff -Nur linux-4.4.46.orig/Documentation/hwlat_detector.txt linux-4.4.46/Documentation/hwlat_detector.txt
---- linux-4.4.46.orig/Documentation/hwlat_detector.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/Documentation/hwlat_detector.txt 2017-02-03 17:18:05.623414168 +0100
+diff -Nur linux-4.4.56.orig/Documentation/hwlat_detector.txt linux-4.4.56/Documentation/hwlat_detector.txt
+--- linux-4.4.56.orig/Documentation/hwlat_detector.txt 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/Documentation/hwlat_detector.txt 2017-03-23 07:59:27.943522850 +0100
@@ -0,0 +1,64 @@
+Introduction:
+-------------
@@ -3955,10 +4004,10 @@ diff -Nur linux-4.4.46.orig/Documentation/hwlat_detector.txt linux-4.4.46/Docume
+observe any latencies that exceed the threshold (initially 100 usecs),
+then we write to a global sample ring buffer of 8K samples, which is
+consumed by reading from the "sample" (pipe) debugfs file interface.
-diff -Nur linux-4.4.46.orig/Documentation/kernel-parameters.txt linux-4.4.46/Documentation/kernel-parameters.txt
---- linux-4.4.46.orig/Documentation/kernel-parameters.txt 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/Documentation/kernel-parameters.txt 2017-02-03 17:18:05.623414168 +0100
-@@ -1636,6 +1636,15 @@
+diff -Nur linux-4.4.56.orig/Documentation/kernel-parameters.txt linux-4.4.56/Documentation/kernel-parameters.txt
+--- linux-4.4.56.orig/Documentation/kernel-parameters.txt 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/Documentation/kernel-parameters.txt 2017-03-23 07:59:27.943522850 +0100
+@@ -1640,6 +1640,15 @@
ip= [IP_PNP]
See Documentation/filesystems/nfs/nfsroot.txt.
@@ -3974,9 +4023,9 @@ diff -Nur linux-4.4.46.orig/Documentation/kernel-parameters.txt linux-4.4.46/Doc
irqfixup [HW]
When an interrupt is not handled search all handlers
for it. Intended to get systems with badly broken
-diff -Nur linux-4.4.46.orig/Documentation/sysrq.txt linux-4.4.46/Documentation/sysrq.txt
---- linux-4.4.46.orig/Documentation/sysrq.txt 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/Documentation/sysrq.txt 2017-02-03 17:18:05.623414168 +0100
+diff -Nur linux-4.4.56.orig/Documentation/sysrq.txt linux-4.4.56/Documentation/sysrq.txt
+--- linux-4.4.56.orig/Documentation/sysrq.txt 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/Documentation/sysrq.txt 2017-03-23 07:59:27.943522850 +0100
@@ -59,10 +59,17 @@
On other - If you know of the key combos for other architectures, please
let me know so I can add them to this section.
@@ -3997,9 +4046,9 @@ diff -Nur linux-4.4.46.orig/Documentation/sysrq.txt linux-4.4.46/Documentation/s
* What are the 'command' keys?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'b' - Will immediately reboot the system without syncing or unmounting
-diff -Nur linux-4.4.46.orig/Documentation/trace/histograms.txt linux-4.4.46/Documentation/trace/histograms.txt
---- linux-4.4.46.orig/Documentation/trace/histograms.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/Documentation/trace/histograms.txt 2017-02-03 17:18:05.623414168 +0100
+diff -Nur linux-4.4.56.orig/Documentation/trace/histograms.txt linux-4.4.56/Documentation/trace/histograms.txt
+--- linux-4.4.56.orig/Documentation/trace/histograms.txt 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/Documentation/trace/histograms.txt 2017-03-23 07:59:27.943522850 +0100
@@ -0,0 +1,186 @@
+ Using the Linux Kernel Latency Histograms
+
@@ -4187,9 +4236,9 @@ diff -Nur linux-4.4.46.orig/Documentation/trace/histograms.txt linux-4.4.46/Docu
+is provided.
+
+These data are also reset when the wakeup histogram is reset.
-diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/acglobal.h linux-4.4.46/drivers/acpi/acpica/acglobal.h
---- linux-4.4.46.orig/drivers/acpi/acpica/acglobal.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/acpi/acpica/acglobal.h 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/acpi/acpica/acglobal.h linux-4.4.56/drivers/acpi/acpica/acglobal.h
+--- linux-4.4.56.orig/drivers/acpi/acpica/acglobal.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/acpi/acpica/acglobal.h 2017-03-23 07:59:27.963523618 +0100
@@ -116,7 +116,7 @@
* interrupt level
*/
@@ -4199,9 +4248,9 @@ diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/acglobal.h linux-4.4.46/drivers/
ACPI_GLOBAL(acpi_spinlock, acpi_gbl_reference_count_lock);
/* Mutex for _OSI support */
-diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/hwregs.c linux-4.4.46/drivers/acpi/acpica/hwregs.c
---- linux-4.4.46.orig/drivers/acpi/acpica/hwregs.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/acpi/acpica/hwregs.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/acpi/acpica/hwregs.c linux-4.4.56/drivers/acpi/acpica/hwregs.c
+--- linux-4.4.56.orig/drivers/acpi/acpica/hwregs.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/acpi/acpica/hwregs.c 2017-03-23 07:59:27.963523618 +0100
@@ -269,14 +269,14 @@
ACPI_BITMASK_ALL_FIXED_STATUS,
ACPI_FORMAT_UINT64(acpi_gbl_xpm1a_status.address)));
@@ -4219,9 +4268,9 @@ diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/hwregs.c linux-4.4.46/drivers/ac
if (ACPI_FAILURE(status)) {
goto exit;
-diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/hwxface.c linux-4.4.46/drivers/acpi/acpica/hwxface.c
---- linux-4.4.46.orig/drivers/acpi/acpica/hwxface.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/acpi/acpica/hwxface.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/acpi/acpica/hwxface.c linux-4.4.56/drivers/acpi/acpica/hwxface.c
+--- linux-4.4.56.orig/drivers/acpi/acpica/hwxface.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/acpi/acpica/hwxface.c 2017-03-23 07:59:27.963523618 +0100
@@ -374,7 +374,7 @@
return_ACPI_STATUS(AE_BAD_PARAMETER);
}
@@ -4240,9 +4289,9 @@ diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/hwxface.c linux-4.4.46/drivers/a
return_ACPI_STATUS(status);
}
-diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/utmutex.c linux-4.4.46/drivers/acpi/acpica/utmutex.c
---- linux-4.4.46.orig/drivers/acpi/acpica/utmutex.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/acpi/acpica/utmutex.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/acpi/acpica/utmutex.c linux-4.4.56/drivers/acpi/acpica/utmutex.c
+--- linux-4.4.56.orig/drivers/acpi/acpica/utmutex.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/acpi/acpica/utmutex.c 2017-03-23 07:59:27.963523618 +0100
@@ -88,7 +88,7 @@
return_ACPI_STATUS (status);
}
@@ -4261,9 +4310,9 @@ diff -Nur linux-4.4.46.orig/drivers/acpi/acpica/utmutex.c linux-4.4.46/drivers/a
acpi_os_delete_lock(acpi_gbl_reference_count_lock);
/* Delete the reader/writer lock */
-diff -Nur linux-4.4.46.orig/drivers/ata/libata-sff.c linux-4.4.46/drivers/ata/libata-sff.c
---- linux-4.4.46.orig/drivers/ata/libata-sff.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ata/libata-sff.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/ata/libata-sff.c linux-4.4.56/drivers/ata/libata-sff.c
+--- linux-4.4.56.orig/drivers/ata/libata-sff.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ata/libata-sff.c 2017-03-23 07:59:27.963523618 +0100
@@ -678,9 +678,9 @@
unsigned long flags;
unsigned int consumed;
@@ -4312,9 +4361,9 @@ diff -Nur linux-4.4.46.orig/drivers/ata/libata-sff.c linux-4.4.46/drivers/ata/li
} else {
buf = page_address(page);
consumed = ap->ops->sff_data_xfer(dev, buf + offset,
-diff -Nur linux-4.4.46.orig/drivers/block/zram/zram_drv.c linux-4.4.46/drivers/block/zram/zram_drv.c
---- linux-4.4.46.orig/drivers/block/zram/zram_drv.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/block/zram/zram_drv.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/block/zram/zram_drv.c linux-4.4.56/drivers/block/zram/zram_drv.c
+--- linux-4.4.56.orig/drivers/block/zram/zram_drv.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/block/zram/zram_drv.c 2017-03-23 07:59:27.963523618 +0100
@@ -520,6 +520,8 @@
goto out_error;
}
@@ -4418,9 +4467,9 @@ diff -Nur linux-4.4.46.orig/drivers/block/zram/zram_drv.c linux-4.4.46/drivers/b
atomic64_inc(&zram->stats.notify_free);
}
-diff -Nur linux-4.4.46.orig/drivers/block/zram/zram_drv.h linux-4.4.46/drivers/block/zram/zram_drv.h
---- linux-4.4.46.orig/drivers/block/zram/zram_drv.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/block/zram/zram_drv.h 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/block/zram/zram_drv.h linux-4.4.56/drivers/block/zram/zram_drv.h
+--- linux-4.4.56.orig/drivers/block/zram/zram_drv.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/block/zram/zram_drv.h 2017-03-23 07:59:27.963523618 +0100
@@ -72,6 +72,9 @@
struct zram_table_entry {
unsigned long handle;
@@ -4474,9 +4523,9 @@ diff -Nur linux-4.4.46.orig/drivers/block/zram/zram_drv.h linux-4.4.46/drivers/b
+#endif /* CONFIG_PREEMPT_RT_BASE */
+
#endif
-diff -Nur linux-4.4.46.orig/drivers/char/random.c linux-4.4.46/drivers/char/random.c
---- linux-4.4.46.orig/drivers/char/random.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/char/random.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/char/random.c linux-4.4.56/drivers/char/random.c
+--- linux-4.4.56.orig/drivers/char/random.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/char/random.c 2017-03-23 07:59:27.963523618 +0100
@@ -799,8 +799,6 @@
} sample;
long delta, delta2, delta3;
@@ -4528,9 +4577,9 @@ diff -Nur linux-4.4.46.orig/drivers/char/random.c linux-4.4.46/drivers/char/rand
fast_mix(fast_pool);
add_interrupt_bench(cycles);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-generated.c linux-4.4.46/drivers/clk/at91/clk-generated.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-generated.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-generated.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-generated.c linux-4.4.56/drivers/clk/at91/clk-generated.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-generated.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-generated.c 2017-03-23 07:59:27.963523618 +0100
@@ -15,8 +15,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -4718,9 +4767,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-generated.c linux-4.4.46/driver
}
+CLK_OF_DECLARE(of_sama5d2_clk_generated_setup, "atmel,sama5d2-clk-generated",
+ of_sama5d2_clk_generated_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-h32mx.c linux-4.4.46/drivers/clk/at91/clk-h32mx.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-h32mx.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-h32mx.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-h32mx.c linux-4.4.56/drivers/clk/at91/clk-h32mx.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-h32mx.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-h32mx.c 2017-03-23 07:59:27.963523618 +0100
@@ -15,15 +15,9 @@
#include <linux/clk-provider.h>
#include <linux/clkdev.h>
@@ -4820,9 +4869,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-h32mx.c linux-4.4.46/drivers/cl
}
+CLK_OF_DECLARE(of_sama5d4_clk_h32mx_setup, "atmel,sama5d4-clk-h32mx",
+ of_sama5d4_clk_h32mx_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-main.c linux-4.4.46/drivers/clk/at91/clk-main.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-main.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-main.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-main.c linux-4.4.56/drivers/clk/at91/clk-main.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-main.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-main.c 2017-03-23 07:59:27.963523618 +0100
@@ -13,13 +13,8 @@
#include <linux/clk/at91_pmc.h>
#include <linux/delay.h>
@@ -5524,9 +5573,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-main.c linux-4.4.46/drivers/clk
}
+CLK_OF_DECLARE(at91sam9x5_clk_main, "atmel,at91sam9x5-clk-main",
+ of_at91sam9x5_clk_main_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-master.c linux-4.4.46/drivers/clk/at91/clk-master.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-master.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-master.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-master.c linux-4.4.56/drivers/clk/at91/clk-master.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-master.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-master.c 2017-03-23 07:59:27.963523618 +0100
@@ -12,13 +12,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -5731,9 +5780,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-master.c linux-4.4.46/drivers/c
}
+CLK_OF_DECLARE(at91sam9x5_clk_master, "atmel,at91sam9x5-clk-master",
+ of_at91sam9x5_clk_master_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-peripheral.c linux-4.4.46/drivers/clk/at91/clk-peripheral.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-peripheral.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-peripheral.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-peripheral.c linux-4.4.56/drivers/clk/at91/clk-peripheral.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-peripheral.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-peripheral.c 2017-03-23 07:59:27.963523618 +0100
@@ -12,11 +12,13 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -6060,9 +6109,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-peripheral.c linux-4.4.46/drive
}
+CLK_OF_DECLARE(at91sam9x5_clk_periph, "atmel,at91sam9x5-clk-peripheral",
+ of_at91sam9x5_clk_periph_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-pll.c linux-4.4.46/drivers/clk/at91/clk-pll.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-pll.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-pll.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-pll.c linux-4.4.56/drivers/clk/at91/clk-pll.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-pll.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-pll.c 2017-03-23 07:59:27.967523783 +0100
@@ -12,14 +12,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -6346,9 +6395,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-pll.c linux-4.4.46/drivers/clk/
}
+CLK_OF_DECLARE(sama5d3_clk_pll, "atmel,sama5d3-clk-pll",
+ of_sama5d3_clk_pll_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-plldiv.c linux-4.4.46/drivers/clk/at91/clk-plldiv.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-plldiv.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-plldiv.c 2017-02-03 17:18:05.671416021 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-plldiv.c linux-4.4.56/drivers/clk/at91/clk-plldiv.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-plldiv.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-plldiv.c 2017-03-23 07:59:27.967523783 +0100
@@ -12,8 +12,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -6458,9 +6507,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-plldiv.c linux-4.4.46/drivers/c
-}
+CLK_OF_DECLARE(at91sam9x5_clk_plldiv, "atmel,at91sam9x5-clk-plldiv",
+ of_at91sam9x5_clk_plldiv_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-programmable.c linux-4.4.46/drivers/clk/at91/clk-programmable.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-programmable.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-programmable.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-programmable.c linux-4.4.56/drivers/clk/at91/clk-programmable.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-programmable.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-programmable.c 2017-03-23 07:59:27.967523783 +0100
@@ -12,10 +12,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -6684,9 +6733,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-programmable.c linux-4.4.46/dri
}
+CLK_OF_DECLARE(at91sam9x5_clk_prog, "atmel,at91sam9x5-clk-programmable",
+ of_at91sam9x5_clk_prog_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-slow.c linux-4.4.46/drivers/clk/at91/clk-slow.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-slow.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-slow.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-slow.c linux-4.4.56/drivers/clk/at91/clk-slow.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-slow.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-slow.c 2017-03-23 07:59:27.967523783 +0100
@@ -13,17 +13,11 @@
#include <linux/clk.h>
#include <linux/clk-provider.h>
@@ -6794,9 +6843,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-slow.c linux-4.4.46/drivers/clk
/*
* FIXME: All slow clk users are not properly claiming it (get + prepare +
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-smd.c linux-4.4.46/drivers/clk/at91/clk-smd.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-smd.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-smd.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-smd.c linux-4.4.56/drivers/clk/at91/clk-smd.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-smd.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-smd.c 2017-03-23 07:59:27.967523783 +0100
@@ -12,8 +12,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -6940,9 +6989,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-smd.c linux-4.4.46/drivers/clk/
}
+CLK_OF_DECLARE(at91sam9x5_clk_smd, "atmel,at91sam9x5-clk-smd",
+ of_at91sam9x5_clk_smd_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-system.c linux-4.4.46/drivers/clk/at91/clk-system.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-system.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-system.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-system.c linux-4.4.56/drivers/clk/at91/clk-system.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-system.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-system.c 2017-03-23 07:59:27.967523783 +0100
@@ -12,13 +12,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -7140,9 +7189,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-system.c linux-4.4.46/drivers/c
-}
+CLK_OF_DECLARE(at91rm9200_clk_sys, "atmel,at91rm9200-clk-system",
+ of_at91rm9200_clk_sys_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-usb.c linux-4.4.46/drivers/clk/at91/clk-usb.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-usb.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-usb.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-usb.c linux-4.4.56/drivers/clk/at91/clk-usb.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-usb.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-usb.c 2017-03-23 07:59:27.967523783 +0100
@@ -12,8 +12,8 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -7471,9 +7520,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-usb.c linux-4.4.46/drivers/clk/
}
+CLK_OF_DECLARE(at91rm9200_clk_usb, "atmel,at91rm9200-clk-usb",
+ of_at91rm9200_clk_usb_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-utmi.c linux-4.4.46/drivers/clk/at91/clk-utmi.c
---- linux-4.4.46.orig/drivers/clk/at91/clk-utmi.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/clk-utmi.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/clk-utmi.c linux-4.4.56/drivers/clk/at91/clk-utmi.c
+--- linux-4.4.56.orig/drivers/clk/at91/clk-utmi.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/clk-utmi.c 2017-03-23 07:59:27.967523783 +0100
@@ -11,14 +11,9 @@
#include <linux/clk-provider.h>
#include <linux/clkdev.h>
@@ -7636,9 +7685,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/clk-utmi.c linux-4.4.46/drivers/clk
-}
+CLK_OF_DECLARE(at91sam9x5_clk_utmi, "atmel,at91sam9x5-clk-utmi",
+ of_at91sam9x5_clk_utmi_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/pmc.c linux-4.4.46/drivers/clk/at91/pmc.c
---- linux-4.4.46.orig/drivers/clk/at91/pmc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/pmc.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/pmc.c linux-4.4.56/drivers/clk/at91/pmc.c
+--- linux-4.4.56.orig/drivers/clk/at91/pmc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/pmc.c 2017-03-23 07:59:27.967523783 +0100
@@ -12,36 +12,13 @@
#include <linux/clkdev.h>
#include <linux/clk/at91_pmc.h>
@@ -8081,9 +8130,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/pmc.c linux-4.4.46/drivers/clk/at91
-}
-CLK_OF_DECLARE(sama5d3_clk_pmc, "atmel,sama5d3-pmc",
- of_sama5d3_pmc_setup);
-diff -Nur linux-4.4.46.orig/drivers/clk/at91/pmc.h linux-4.4.46/drivers/clk/at91/pmc.h
---- linux-4.4.46.orig/drivers/clk/at91/pmc.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clk/at91/pmc.h 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clk/at91/pmc.h linux-4.4.56/drivers/clk/at91/pmc.h
+--- linux-4.4.56.orig/drivers/clk/at91/pmc.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clk/at91/pmc.h 2017-03-23 07:59:27.967523783 +0100
@@ -14,8 +14,11 @@
#include <linux/io.h>
@@ -8199,9 +8248,9 @@ diff -Nur linux-4.4.46.orig/drivers/clk/at91/pmc.h linux-4.4.46/drivers/clk/at91
- struct at91_pmc *pmc);
-
#endif /* __PMC_H_ */
-diff -Nur linux-4.4.46.orig/drivers/clocksource/tcb_clksrc.c linux-4.4.46/drivers/clocksource/tcb_clksrc.c
---- linux-4.4.46.orig/drivers/clocksource/tcb_clksrc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clocksource/tcb_clksrc.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clocksource/tcb_clksrc.c linux-4.4.56/drivers/clocksource/tcb_clksrc.c
+--- linux-4.4.56.orig/drivers/clocksource/tcb_clksrc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clocksource/tcb_clksrc.c 2017-03-23 07:59:27.967523783 +0100
@@ -23,8 +23,7 @@
* this 32 bit free-running counter. the second channel is not used.
*
@@ -8359,9 +8408,9 @@ diff -Nur linux-4.4.46.orig/drivers/clocksource/tcb_clksrc.c linux-4.4.46/driver
if (ret)
goto err_unregister_clksrc;
-diff -Nur linux-4.4.46.orig/drivers/clocksource/timer-atmel-pit.c linux-4.4.46/drivers/clocksource/timer-atmel-pit.c
---- linux-4.4.46.orig/drivers/clocksource/timer-atmel-pit.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clocksource/timer-atmel-pit.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clocksource/timer-atmel-pit.c linux-4.4.56/drivers/clocksource/timer-atmel-pit.c
+--- linux-4.4.56.orig/drivers/clocksource/timer-atmel-pit.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clocksource/timer-atmel-pit.c 2017-03-23 07:59:27.967523783 +0100
@@ -46,6 +46,7 @@
u32 cycle;
u32 cnt;
@@ -8422,9 +8471,9 @@ diff -Nur linux-4.4.46.orig/drivers/clocksource/timer-atmel-pit.c linux-4.4.46/d
/* Set up and register clockevents */
data->clkevt.name = "pit";
data->clkevt.features = CLOCK_EVT_FEAT_PERIODIC;
-diff -Nur linux-4.4.46.orig/drivers/clocksource/timer-atmel-st.c linux-4.4.46/drivers/clocksource/timer-atmel-st.c
---- linux-4.4.46.orig/drivers/clocksource/timer-atmel-st.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/clocksource/timer-atmel-st.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/clocksource/timer-atmel-st.c linux-4.4.56/drivers/clocksource/timer-atmel-st.c
+--- linux-4.4.56.orig/drivers/clocksource/timer-atmel-st.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/clocksource/timer-atmel-st.c 2017-03-23 07:59:27.967523783 +0100
@@ -115,18 +115,29 @@
last_crtr = read_CRTR();
}
@@ -8501,9 +8550,9 @@ diff -Nur linux-4.4.46.orig/drivers/clocksource/timer-atmel-st.c linux-4.4.46/dr
sclk = of_clk_get(node, 0);
if (IS_ERR(sclk))
panic(pr_fmt("Unable to get slow clock\n"));
-diff -Nur linux-4.4.46.orig/drivers/cpufreq/Kconfig.x86 linux-4.4.46/drivers/cpufreq/Kconfig.x86
---- linux-4.4.46.orig/drivers/cpufreq/Kconfig.x86 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/cpufreq/Kconfig.x86 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/cpufreq/Kconfig.x86 linux-4.4.56/drivers/cpufreq/Kconfig.x86
+--- linux-4.4.56.orig/drivers/cpufreq/Kconfig.x86 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/cpufreq/Kconfig.x86 2017-03-23 07:59:27.967523783 +0100
@@ -123,7 +123,7 @@
config X86_POWERNOW_K8
@@ -8513,9 +8562,9 @@ diff -Nur linux-4.4.46.orig/drivers/cpufreq/Kconfig.x86 linux-4.4.46/drivers/cpu
help
This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
Support for K10 and newer processors is now in acpi-cpufreq.
-diff -Nur linux-4.4.46.orig/drivers/cpuidle/coupled.c linux-4.4.46/drivers/cpuidle/coupled.c
---- linux-4.4.46.orig/drivers/cpuidle/coupled.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/cpuidle/coupled.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/cpuidle/coupled.c linux-4.4.56/drivers/cpuidle/coupled.c
+--- linux-4.4.56.orig/drivers/cpuidle/coupled.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/cpuidle/coupled.c 2017-03-23 07:59:27.967523783 +0100
@@ -119,7 +119,6 @@
#define CPUIDLE_COUPLED_NOT_IDLE (-1)
@@ -8524,9 +8573,9 @@ diff -Nur linux-4.4.46.orig/drivers/cpuidle/coupled.c linux-4.4.46/drivers/cpuid
static DEFINE_PER_CPU(struct call_single_data, cpuidle_coupled_poke_cb);
/*
-diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-4.4.46/drivers/gpu/drm/i915/i915_gem_execbuffer.c
---- linux-4.4.46.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-4.4.56/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+--- linux-4.4.56.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/gpu/drm/i915/i915_gem_execbuffer.c 2017-03-23 07:59:27.967523783 +0100
@@ -1264,7 +1264,9 @@
if (ret)
return ret;
@@ -8537,9 +8586,9 @@ diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/i915_gem_execbuffer.c linux-4.4
i915_gem_execbuffer_move_to_active(vmas, params->request);
i915_gem_execbuffer_retire_commands(params);
-diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/i915_gem_shrinker.c linux-4.4.46/drivers/gpu/drm/i915/i915_gem_shrinker.c
---- linux-4.4.46.orig/drivers/gpu/drm/i915/i915_gem_shrinker.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/gpu/drm/i915/i915_gem_shrinker.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/gpu/drm/i915/i915_gem_shrinker.c linux-4.4.56/drivers/gpu/drm/i915/i915_gem_shrinker.c
+--- linux-4.4.56.orig/drivers/gpu/drm/i915/i915_gem_shrinker.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/gpu/drm/i915/i915_gem_shrinker.c 2017-03-23 07:59:27.967523783 +0100
@@ -39,7 +39,7 @@
if (!mutex_is_locked(mutex))
return false;
@@ -8549,9 +8598,9 @@ diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/i915_gem_shrinker.c linux-4.4.4
return mutex->owner == task;
#else
/* Since UP may be pre-empted, we cannot assume that we own the lock */
-diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/i915_irq.c linux-4.4.46/drivers/gpu/drm/i915/i915_irq.c
---- linux-4.4.46.orig/drivers/gpu/drm/i915/i915_irq.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/gpu/drm/i915/i915_irq.c 2017-02-03 17:18:05.675416176 +0100
+diff -Nur linux-4.4.56.orig/drivers/gpu/drm/i915/i915_irq.c linux-4.4.56/drivers/gpu/drm/i915/i915_irq.c
+--- linux-4.4.56.orig/drivers/gpu/drm/i915/i915_irq.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/gpu/drm/i915/i915_irq.c 2017-03-23 07:59:27.967523783 +0100
@@ -812,6 +812,7 @@
spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
@@ -8568,9 +8617,9 @@ diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/i915_irq.c linux-4.4.46/drivers
spin_unlock_irqrestore(&dev_priv->uncore.lock, irqflags);
-diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/intel_display.c linux-4.4.46/drivers/gpu/drm/i915/intel_display.c
---- linux-4.4.46.orig/drivers/gpu/drm/i915/intel_display.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/gpu/drm/i915/intel_display.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/gpu/drm/i915/intel_display.c linux-4.4.56/drivers/gpu/drm/i915/intel_display.c
+--- linux-4.4.56.orig/drivers/gpu/drm/i915/intel_display.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/gpu/drm/i915/intel_display.c 2017-03-23 07:59:27.971523939 +0100
@@ -11400,7 +11400,7 @@
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
struct intel_unpin_work *work;
@@ -8580,9 +8629,9 @@ diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/intel_display.c linux-4.4.46/dr
if (crtc == NULL)
return;
-diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/intel_sprite.c linux-4.4.46/drivers/gpu/drm/i915/intel_sprite.c
---- linux-4.4.46.orig/drivers/gpu/drm/i915/intel_sprite.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/gpu/drm/i915/intel_sprite.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/gpu/drm/i915/intel_sprite.c linux-4.4.56/drivers/gpu/drm/i915/intel_sprite.c
+--- linux-4.4.56.orig/drivers/gpu/drm/i915/intel_sprite.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/gpu/drm/i915/intel_sprite.c 2017-03-23 07:59:27.971523939 +0100
@@ -38,6 +38,7 @@
#include "intel_drv.h"
#include <drm/i915_drm.h>
@@ -8632,9 +8681,9 @@ diff -Nur linux-4.4.46.orig/drivers/gpu/drm/i915/intel_sprite.c linux-4.4.46/dri
if (crtc->debug.start_vbl_count &&
crtc->debug.start_vbl_count != end_vbl_count) {
-diff -Nur linux-4.4.46.orig/drivers/gpu/drm/radeon/radeon_display.c linux-4.4.46/drivers/gpu/drm/radeon/radeon_display.c
---- linux-4.4.46.orig/drivers/gpu/drm/radeon/radeon_display.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/gpu/drm/radeon/radeon_display.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/gpu/drm/radeon/radeon_display.c linux-4.4.56/drivers/gpu/drm/radeon/radeon_display.c
+--- linux-4.4.56.orig/drivers/gpu/drm/radeon/radeon_display.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/gpu/drm/radeon/radeon_display.c 2017-03-23 07:59:27.971523939 +0100
@@ -1862,6 +1862,7 @@
struct radeon_device *rdev = dev->dev_private;
@@ -8651,9 +8700,9 @@ diff -Nur linux-4.4.46.orig/drivers/gpu/drm/radeon/radeon_display.c linux-4.4.46
/* Decode into vertical and horizontal scanout position. */
*vpos = position & 0x1fff;
-diff -Nur linux-4.4.46.orig/drivers/hv/vmbus_drv.c linux-4.4.46/drivers/hv/vmbus_drv.c
---- linux-4.4.46.orig/drivers/hv/vmbus_drv.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/hv/vmbus_drv.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/hv/vmbus_drv.c linux-4.4.56/drivers/hv/vmbus_drv.c
+--- linux-4.4.56.orig/drivers/hv/vmbus_drv.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/hv/vmbus_drv.c 2017-03-23 07:59:27.971523939 +0100
@@ -820,7 +820,7 @@
tasklet_schedule(&msg_dpc);
}
@@ -8663,9 +8712,9 @@ diff -Nur linux-4.4.46.orig/drivers/hv/vmbus_drv.c linux-4.4.46/drivers/hv/vmbus
}
-diff -Nur linux-4.4.46.orig/drivers/i2c/busses/i2c-omap.c linux-4.4.46/drivers/i2c/busses/i2c-omap.c
---- linux-4.4.46.orig/drivers/i2c/busses/i2c-omap.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/i2c/busses/i2c-omap.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/i2c/busses/i2c-omap.c linux-4.4.56/drivers/i2c/busses/i2c-omap.c
+--- linux-4.4.56.orig/drivers/i2c/busses/i2c-omap.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/i2c/busses/i2c-omap.c 2017-03-23 07:59:27.971523939 +0100
@@ -995,15 +995,12 @@
u16 mask;
u16 stat;
@@ -8683,9 +8732,9 @@ diff -Nur linux-4.4.46.orig/drivers/i2c/busses/i2c-omap.c linux-4.4.46/drivers/i
return ret;
}
-diff -Nur linux-4.4.46.orig/drivers/ide/alim15x3.c linux-4.4.46/drivers/ide/alim15x3.c
---- linux-4.4.46.orig/drivers/ide/alim15x3.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ide/alim15x3.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/ide/alim15x3.c linux-4.4.56/drivers/ide/alim15x3.c
+--- linux-4.4.56.orig/drivers/ide/alim15x3.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ide/alim15x3.c 2017-03-23 07:59:27.971523939 +0100
@@ -234,7 +234,7 @@
isa_dev = pci_get_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, NULL);
@@ -8704,9 +8753,9 @@ diff -Nur linux-4.4.46.orig/drivers/ide/alim15x3.c linux-4.4.46/drivers/ide/alim
return 0;
}
-diff -Nur linux-4.4.46.orig/drivers/ide/hpt366.c linux-4.4.46/drivers/ide/hpt366.c
---- linux-4.4.46.orig/drivers/ide/hpt366.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ide/hpt366.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/ide/hpt366.c linux-4.4.56/drivers/ide/hpt366.c
+--- linux-4.4.56.orig/drivers/ide/hpt366.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ide/hpt366.c 2017-03-23 07:59:27.971523939 +0100
@@ -1241,7 +1241,7 @@
dma_old = inb(base + 2);
@@ -8725,9 +8774,9 @@ diff -Nur linux-4.4.46.orig/drivers/ide/hpt366.c linux-4.4.46/drivers/ide/hpt366
printk(KERN_INFO " %s: BM-DMA at 0x%04lx-0x%04lx\n",
hwif->name, base, base + 7);
-diff -Nur linux-4.4.46.orig/drivers/ide/ide-io.c linux-4.4.46/drivers/ide/ide-io.c
---- linux-4.4.46.orig/drivers/ide/ide-io.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ide/ide-io.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/ide/ide-io.c linux-4.4.56/drivers/ide/ide-io.c
+--- linux-4.4.56.orig/drivers/ide/ide-io.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ide/ide-io.c 2017-03-23 07:59:27.971523939 +0100
@@ -659,7 +659,7 @@
/* disable_irq_nosync ?? */
disable_irq(hwif->irq);
@@ -8737,9 +8786,9 @@ diff -Nur linux-4.4.46.orig/drivers/ide/ide-io.c linux-4.4.46/drivers/ide/ide-io
if (hwif->polling) {
startstop = handler(drive);
} else if (drive_is_ready(drive)) {
-diff -Nur linux-4.4.46.orig/drivers/ide/ide-iops.c linux-4.4.46/drivers/ide/ide-iops.c
---- linux-4.4.46.orig/drivers/ide/ide-iops.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ide/ide-iops.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/ide/ide-iops.c linux-4.4.56/drivers/ide/ide-iops.c
+--- linux-4.4.56.orig/drivers/ide/ide-iops.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ide/ide-iops.c 2017-03-23 07:59:27.971523939 +0100
@@ -129,12 +129,12 @@
if ((stat & ATA_BUSY) == 0)
break;
@@ -8755,9 +8804,9 @@ diff -Nur linux-4.4.46.orig/drivers/ide/ide-iops.c linux-4.4.46/drivers/ide/ide-
}
/*
* Allow status to settle, then read it again.
-diff -Nur linux-4.4.46.orig/drivers/ide/ide-io-std.c linux-4.4.46/drivers/ide/ide-io-std.c
---- linux-4.4.46.orig/drivers/ide/ide-io-std.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ide/ide-io-std.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/ide/ide-io-std.c linux-4.4.56/drivers/ide/ide-io-std.c
+--- linux-4.4.56.orig/drivers/ide/ide-io-std.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ide/ide-io-std.c 2017-03-23 07:59:27.971523939 +0100
@@ -175,7 +175,7 @@
unsigned long uninitialized_var(flags);
@@ -8794,9 +8843,9 @@ diff -Nur linux-4.4.46.orig/drivers/ide/ide-io-std.c linux-4.4.46/drivers/ide/id
if (((len + 1) & 3) < 2)
return;
-diff -Nur linux-4.4.46.orig/drivers/ide/ide-probe.c linux-4.4.46/drivers/ide/ide-probe.c
---- linux-4.4.46.orig/drivers/ide/ide-probe.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ide/ide-probe.c 2017-02-03 17:18:05.679416330 +0100
+diff -Nur linux-4.4.56.orig/drivers/ide/ide-probe.c linux-4.4.56/drivers/ide/ide-probe.c
+--- linux-4.4.56.orig/drivers/ide/ide-probe.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ide/ide-probe.c 2017-03-23 07:59:27.975524073 +0100
@@ -196,10 +196,10 @@
int bswap = 1;
@@ -8810,9 +8859,9 @@ diff -Nur linux-4.4.46.orig/drivers/ide/ide-probe.c linux-4.4.46/drivers/ide/ide
drive->dev_flags |= IDE_DFLAG_ID_READ;
#ifdef DEBUG
-diff -Nur linux-4.4.46.orig/drivers/ide/ide-taskfile.c linux-4.4.46/drivers/ide/ide-taskfile.c
---- linux-4.4.46.orig/drivers/ide/ide-taskfile.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/ide/ide-taskfile.c 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/ide/ide-taskfile.c linux-4.4.56/drivers/ide/ide-taskfile.c
+--- linux-4.4.56.orig/drivers/ide/ide-taskfile.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/ide/ide-taskfile.c 2017-03-23 07:59:27.975524073 +0100
@@ -250,7 +250,7 @@
page_is_high = PageHighMem(page);
@@ -8840,9 +8889,9 @@ diff -Nur linux-4.4.46.orig/drivers/ide/ide-taskfile.c linux-4.4.46/drivers/ide/
ide_set_handler(drive, &task_pio_intr, WAIT_WORSTCASE);
-diff -Nur linux-4.4.46.orig/drivers/infiniband/ulp/ipoib/ipoib_multicast.c linux-4.4.46/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
---- linux-4.4.46.orig/drivers/infiniband/ulp/ipoib/ipoib_multicast.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/infiniband/ulp/ipoib/ipoib_multicast.c 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/infiniband/ulp/ipoib/ipoib_multicast.c linux-4.4.56/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+--- linux-4.4.56.orig/drivers/infiniband/ulp/ipoib/ipoib_multicast.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/infiniband/ulp/ipoib/ipoib_multicast.c 2017-03-23 07:59:27.975524073 +0100
@@ -862,7 +862,7 @@
ipoib_dbg_mcast(priv, "restarting multicast task\n");
@@ -8861,9 +8910,9 @@ diff -Nur linux-4.4.46.orig/drivers/infiniband/ulp/ipoib/ipoib_multicast.c linux
/*
* make sure the in-flight joins have finished before we attempt
-diff -Nur linux-4.4.46.orig/drivers/input/gameport/gameport.c linux-4.4.46/drivers/input/gameport/gameport.c
---- linux-4.4.46.orig/drivers/input/gameport/gameport.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/input/gameport/gameport.c 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/input/gameport/gameport.c linux-4.4.56/drivers/input/gameport/gameport.c
+--- linux-4.4.56.orig/drivers/input/gameport/gameport.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/input/gameport/gameport.c 2017-03-23 07:59:27.975524073 +0100
@@ -91,13 +91,13 @@
tx = ~0;
@@ -8909,9 +8958,9 @@ diff -Nur linux-4.4.46.orig/drivers/input/gameport/gameport.c linux-4.4.46/drive
udelay(i * 10);
if (t2 - t1 < tx) tx = t2 - t1;
}
-diff -Nur linux-4.4.46.orig/drivers/iommu/amd_iommu.c linux-4.4.46/drivers/iommu/amd_iommu.c
---- linux-4.4.46.orig/drivers/iommu/amd_iommu.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/iommu/amd_iommu.c 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/iommu/amd_iommu.c linux-4.4.56/drivers/iommu/amd_iommu.c
+--- linux-4.4.56.orig/drivers/iommu/amd_iommu.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/iommu/amd_iommu.c 2017-03-23 07:59:27.975524073 +0100
@@ -2022,10 +2022,10 @@
int ret;
@@ -8940,9 +8989,9 @@ diff -Nur linux-4.4.46.orig/drivers/iommu/amd_iommu.c linux-4.4.46/drivers/iommu
if (WARN_ON(!dev_data->domain))
return;
-diff -Nur linux-4.4.46.orig/drivers/leds/trigger/Kconfig linux-4.4.46/drivers/leds/trigger/Kconfig
---- linux-4.4.46.orig/drivers/leds/trigger/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/leds/trigger/Kconfig 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/leds/trigger/Kconfig linux-4.4.56/drivers/leds/trigger/Kconfig
+--- linux-4.4.56.orig/drivers/leds/trigger/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/leds/trigger/Kconfig 2017-03-23 07:59:27.975524073 +0100
@@ -61,7 +61,7 @@
config LEDS_TRIGGER_CPU
@@ -8952,9 +9001,9 @@ diff -Nur linux-4.4.46.orig/drivers/leds/trigger/Kconfig linux-4.4.46/drivers/le
help
This allows LEDs to be controlled by active CPUs. This shows
the active CPUs across an array of LEDs so you can see which
-diff -Nur linux-4.4.46.orig/drivers/md/bcache/Kconfig linux-4.4.46/drivers/md/bcache/Kconfig
---- linux-4.4.46.orig/drivers/md/bcache/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/md/bcache/Kconfig 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/md/bcache/Kconfig linux-4.4.56/drivers/md/bcache/Kconfig
+--- linux-4.4.56.orig/drivers/md/bcache/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/md/bcache/Kconfig 2017-03-23 07:59:27.975524073 +0100
@@ -1,6 +1,7 @@
config BCACHE
@@ -8963,10 +9012,10 @@ diff -Nur linux-4.4.46.orig/drivers/md/bcache/Kconfig linux-4.4.46/drivers/md/bc
---help---
Allows a block device to be used as cache for other devices; uses
a btree for indexing and the layout is optimized for SSDs.
-diff -Nur linux-4.4.46.orig/drivers/md/dm.c linux-4.4.46/drivers/md/dm.c
---- linux-4.4.46.orig/drivers/md/dm.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/md/dm.c 2017-02-03 17:18:05.683416484 +0100
-@@ -2127,7 +2127,7 @@
+diff -Nur linux-4.4.56.orig/drivers/md/dm.c linux-4.4.56/drivers/md/dm.c
+--- linux-4.4.56.orig/drivers/md/dm.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/md/dm.c 2017-03-23 07:59:27.975524073 +0100
+@@ -2182,7 +2182,7 @@
/* Establish tio->ti before queuing work (map_tio_request) */
tio->ti = ti;
queue_kthread_work(&md->kworker, &tio->work);
@@ -8975,9 +9024,9 @@ diff -Nur linux-4.4.46.orig/drivers/md/dm.c linux-4.4.46/drivers/md/dm.c
}
goto out;
-diff -Nur linux-4.4.46.orig/drivers/md/raid5.c linux-4.4.46/drivers/md/raid5.c
---- linux-4.4.46.orig/drivers/md/raid5.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/md/raid5.c 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/md/raid5.c linux-4.4.56/drivers/md/raid5.c
+--- linux-4.4.56.orig/drivers/md/raid5.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/md/raid5.c 2017-03-23 07:59:27.975524073 +0100
@@ -1920,8 +1920,9 @@
struct raid5_percpu *percpu;
unsigned long cpu;
@@ -9007,9 +9056,9 @@ diff -Nur linux-4.4.46.orig/drivers/md/raid5.c linux-4.4.46/drivers/md/raid5.c
}
put_online_cpus();
-diff -Nur linux-4.4.46.orig/drivers/md/raid5.h linux-4.4.46/drivers/md/raid5.h
---- linux-4.4.46.orig/drivers/md/raid5.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/md/raid5.h 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/md/raid5.h linux-4.4.56/drivers/md/raid5.h
+--- linux-4.4.56.orig/drivers/md/raid5.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/md/raid5.h 2017-03-23 07:59:27.975524073 +0100
@@ -504,6 +504,7 @@
int recovery_disabled;
/* per cpu variables */
@@ -9018,9 +9067,9 @@ diff -Nur linux-4.4.46.orig/drivers/md/raid5.h linux-4.4.46/drivers/md/raid5.h
struct page *spare_page; /* Used when checking P/Q in raid6 */
struct flex_array *scribble; /* space for constructing buffer
* lists and performing address
-diff -Nur linux-4.4.46.orig/drivers/media/platform/vsp1/vsp1_video.c linux-4.4.46/drivers/media/platform/vsp1/vsp1_video.c
---- linux-4.4.46.orig/drivers/media/platform/vsp1/vsp1_video.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/media/platform/vsp1/vsp1_video.c 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/media/platform/vsp1/vsp1_video.c linux-4.4.56/drivers/media/platform/vsp1/vsp1_video.c
+--- linux-4.4.56.orig/drivers/media/platform/vsp1/vsp1_video.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/media/platform/vsp1/vsp1_video.c 2017-03-23 07:59:27.975524073 +0100
@@ -520,7 +520,7 @@
bool stopped;
@@ -9030,9 +9079,9 @@ diff -Nur linux-4.4.46.orig/drivers/media/platform/vsp1/vsp1_video.c linux-4.4.4
spin_unlock_irqrestore(&pipe->irqlock, flags);
return stopped;
-diff -Nur linux-4.4.46.orig/drivers/misc/hwlat_detector.c linux-4.4.46/drivers/misc/hwlat_detector.c
---- linux-4.4.46.orig/drivers/misc/hwlat_detector.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/drivers/misc/hwlat_detector.c 2017-02-03 17:18:05.687416638 +0100
+diff -Nur linux-4.4.56.orig/drivers/misc/hwlat_detector.c linux-4.4.56/drivers/misc/hwlat_detector.c
+--- linux-4.4.56.orig/drivers/misc/hwlat_detector.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/drivers/misc/hwlat_detector.c 2017-03-23 07:59:27.979524207 +0100
@@ -0,0 +1,1240 @@
+/*
+ * hwlat_detector.c - A simple Hardware Latency detector.
@@ -10274,9 +10323,9 @@ diff -Nur linux-4.4.46.orig/drivers/misc/hwlat_detector.c linux-4.4.46/drivers/m
+
+module_init(detector_init);
+module_exit(detector_exit);
-diff -Nur linux-4.4.46.orig/drivers/misc/Kconfig linux-4.4.46/drivers/misc/Kconfig
---- linux-4.4.46.orig/drivers/misc/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/misc/Kconfig 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/misc/Kconfig linux-4.4.56/drivers/misc/Kconfig
+--- linux-4.4.56.orig/drivers/misc/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/misc/Kconfig 2017-03-23 07:59:27.975524073 +0100
@@ -54,6 +54,7 @@
config ATMEL_TCLIB
bool "Atmel AT32/AT91 Timer/Counter Library"
@@ -10347,9 +10396,9 @@ diff -Nur linux-4.4.46.orig/drivers/misc/Kconfig linux-4.4.46/drivers/misc/Kconf
config PHANTOM
tristate "Sensable PHANToM (PCI)"
depends on PCI
-diff -Nur linux-4.4.46.orig/drivers/misc/Makefile linux-4.4.46/drivers/misc/Makefile
---- linux-4.4.46.orig/drivers/misc/Makefile 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/misc/Makefile 2017-02-03 17:18:05.683416484 +0100
+diff -Nur linux-4.4.56.orig/drivers/misc/Makefile linux-4.4.56/drivers/misc/Makefile
+--- linux-4.4.56.orig/drivers/misc/Makefile 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/misc/Makefile 2017-03-23 07:59:27.975524073 +0100
@@ -39,6 +39,7 @@
obj-$(CONFIG_HMC6352) += hmc6352.o
obj-y += eeprom/
@@ -10358,9 +10407,9 @@ diff -Nur linux-4.4.46.orig/drivers/misc/Makefile linux-4.4.46/drivers/misc/Make
obj-$(CONFIG_SPEAR13XX_PCIE_GADGET) += spear13xx_pcie_gadget.o
obj-$(CONFIG_VMWARE_BALLOON) += vmw_balloon.o
obj-$(CONFIG_ARM_CHARLCD) += arm-charlcd.o
-diff -Nur linux-4.4.46.orig/drivers/mmc/host/mmci.c linux-4.4.46/drivers/mmc/host/mmci.c
---- linux-4.4.46.orig/drivers/mmc/host/mmci.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/mmc/host/mmci.c 2017-02-03 17:18:05.687416638 +0100
+diff -Nur linux-4.4.56.orig/drivers/mmc/host/mmci.c linux-4.4.56/drivers/mmc/host/mmci.c
+--- linux-4.4.56.orig/drivers/mmc/host/mmci.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/mmc/host/mmci.c 2017-03-23 07:59:27.979524207 +0100
@@ -1155,15 +1155,12 @@
struct sg_mapping_iter *sg_miter = &host->sg_miter;
struct variant_data *variant = host->variant;
@@ -10386,9 +10435,9 @@ diff -Nur linux-4.4.46.orig/drivers/mmc/host/mmci.c linux-4.4.46/drivers/mmc/hos
/*
* If we have less than the fifo 'half-full' threshold to transfer,
* trigger a PIO interrupt as soon as any data is available.
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/3com/3c59x.c linux-4.4.46/drivers/net/ethernet/3com/3c59x.c
---- linux-4.4.46.orig/drivers/net/ethernet/3com/3c59x.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/3com/3c59x.c 2017-02-03 17:18:05.687416638 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/3com/3c59x.c linux-4.4.56/drivers/net/ethernet/3com/3c59x.c
+--- linux-4.4.56.orig/drivers/net/ethernet/3com/3c59x.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/3com/3c59x.c 2017-03-23 07:59:27.979524207 +0100
@@ -842,9 +842,9 @@
{
struct vortex_private *vp = netdev_priv(dev);
@@ -10416,9 +10465,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/3com/3c59x.c linux-4.4.46/drive
}
}
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c linux-4.4.46/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
---- linux-4.4.46.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/atheros/atl1c/atl1c_main.c 2017-02-03 17:18:05.687416638 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c linux-4.4.56/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+--- linux-4.4.56.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/atheros/atl1c/atl1c_main.c 2017-03-23 07:59:27.979524207 +0100
@@ -2221,11 +2221,7 @@
}
@@ -10432,9 +10481,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c linu
if (atl1c_tpd_avail(adapter, type) < tpd_req) {
/* no enough descriptor, just stop queue */
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/atheros/atl1e/atl1e_main.c linux-4.4.46/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
---- linux-4.4.46.orig/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 2017-02-03 17:18:05.687416638 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/atheros/atl1e/atl1e_main.c linux-4.4.56/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+--- linux-4.4.56.orig/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/atheros/atl1e/atl1e_main.c 2017-03-23 07:59:27.979524207 +0100
@@ -1880,8 +1880,7 @@
return NETDEV_TX_OK;
}
@@ -10445,9 +10494,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/atheros/atl1e/atl1e_main.c linu
if (atl1e_tpd_avail(adapter) < tpd_req) {
/* no enough descriptor, just stop queue */
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/chelsio/cxgb/sge.c linux-4.4.46/drivers/net/ethernet/chelsio/cxgb/sge.c
---- linux-4.4.46.orig/drivers/net/ethernet/chelsio/cxgb/sge.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/chelsio/cxgb/sge.c 2017-02-03 17:18:05.691416794 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/chelsio/cxgb/sge.c linux-4.4.56/drivers/net/ethernet/chelsio/cxgb/sge.c
+--- linux-4.4.56.orig/drivers/net/ethernet/chelsio/cxgb/sge.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/chelsio/cxgb/sge.c 2017-03-23 07:59:27.979524207 +0100
@@ -1664,8 +1664,7 @@
struct cmdQ *q = &sge->cmdQ[qid];
unsigned int credits, pidx, genbit, count, use_sched_skb = 0;
@@ -10458,9 +10507,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/chelsio/cxgb/sge.c linux-4.4.46
reclaim_completed_tx(sge, q);
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/neterion/s2io.c linux-4.4.46/drivers/net/ethernet/neterion/s2io.c
---- linux-4.4.46.orig/drivers/net/ethernet/neterion/s2io.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/neterion/s2io.c 2017-02-03 17:18:05.691416794 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/neterion/s2io.c linux-4.4.56/drivers/net/ethernet/neterion/s2io.c
+--- linux-4.4.56.orig/drivers/net/ethernet/neterion/s2io.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/neterion/s2io.c 2017-03-23 07:59:27.979524207 +0100
@@ -4084,12 +4084,7 @@
[skb->priority & (MAX_TX_FIFOS - 1)];
fifo = &mac_control->fifos[queue];
@@ -10475,9 +10524,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/neterion/s2io.c linux-4.4.46/dr
if (sp->config.multiq) {
if (__netif_subqueue_stopped(dev, fifo->fifo_no)) {
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c linux-4.4.46/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
---- linux-4.4.46.orig/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2017-02-03 17:18:05.691416794 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c linux-4.4.56/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
+--- linux-4.4.56.orig/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c 2017-03-23 07:59:27.979524207 +0100
@@ -2137,10 +2137,8 @@
struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring;
unsigned long flags;
@@ -10491,9 +10540,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c
if (unlikely(!PCH_GBE_DESC_UNUSED(tx_ring))) {
netif_stop_queue(netdev);
spin_unlock_irqrestore(&tx_ring->tx_lock, flags);
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/realtek/8139too.c linux-4.4.46/drivers/net/ethernet/realtek/8139too.c
---- linux-4.4.46.orig/drivers/net/ethernet/realtek/8139too.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/realtek/8139too.c 2017-02-03 17:18:05.691416794 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/realtek/8139too.c linux-4.4.56/drivers/net/ethernet/realtek/8139too.c
+--- linux-4.4.56.orig/drivers/net/ethernet/realtek/8139too.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/realtek/8139too.c 2017-03-23 07:59:27.983524342 +0100
@@ -2229,7 +2229,7 @@
struct rtl8139_private *tp = netdev_priv(dev);
const int irq = tp->pci_dev->irq;
@@ -10503,9 +10552,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/realtek/8139too.c linux-4.4.46/
rtl8139_interrupt(irq, dev);
enable_irq(irq);
}
-diff -Nur linux-4.4.46.orig/drivers/net/ethernet/tehuti/tehuti.c linux-4.4.46/drivers/net/ethernet/tehuti/tehuti.c
---- linux-4.4.46.orig/drivers/net/ethernet/tehuti/tehuti.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/ethernet/tehuti/tehuti.c 2017-02-03 17:18:05.691416794 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/ethernet/tehuti/tehuti.c linux-4.4.56/drivers/net/ethernet/tehuti/tehuti.c
+--- linux-4.4.56.orig/drivers/net/ethernet/tehuti/tehuti.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/ethernet/tehuti/tehuti.c 2017-03-23 07:59:27.983524342 +0100
@@ -1629,13 +1629,8 @@
unsigned long flags;
@@ -10522,9 +10571,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/ethernet/tehuti/tehuti.c linux-4.4.46/dr
/* build tx descriptor */
BDX_ASSERT(f->m.wptr >= f->m.memsz); /* started with valid wptr */
-diff -Nur linux-4.4.46.orig/drivers/net/rionet.c linux-4.4.46/drivers/net/rionet.c
---- linux-4.4.46.orig/drivers/net/rionet.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/rionet.c 2017-02-03 17:18:05.691416794 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/rionet.c linux-4.4.56/drivers/net/rionet.c
+--- linux-4.4.56.orig/drivers/net/rionet.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/rionet.c 2017-03-23 07:59:27.983524342 +0100
@@ -174,11 +174,7 @@
unsigned long flags;
int add_num = 1;
@@ -10538,9 +10587,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/rionet.c linux-4.4.46/drivers/net/rionet
if (is_multicast_ether_addr(eth->h_dest))
add_num = nets[rnet->mport->id].nact;
-diff -Nur linux-4.4.46.orig/drivers/net/wireless/orinoco/orinoco_usb.c linux-4.4.46/drivers/net/wireless/orinoco/orinoco_usb.c
---- linux-4.4.46.orig/drivers/net/wireless/orinoco/orinoco_usb.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/net/wireless/orinoco/orinoco_usb.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/net/wireless/orinoco/orinoco_usb.c linux-4.4.56/drivers/net/wireless/orinoco/orinoco_usb.c
+--- linux-4.4.56.orig/drivers/net/wireless/orinoco/orinoco_usb.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/net/wireless/orinoco/orinoco_usb.c 2017-03-23 07:59:27.983524342 +0100
@@ -697,7 +697,7 @@
while (!ctx->done.done && msecs--)
udelay(1000);
@@ -10550,9 +10599,9 @@ diff -Nur linux-4.4.46.orig/drivers/net/wireless/orinoco/orinoco_usb.c linux-4.4
ctx->done.done);
}
break;
-diff -Nur linux-4.4.46.orig/drivers/pci/access.c linux-4.4.46/drivers/pci/access.c
---- linux-4.4.46.orig/drivers/pci/access.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/pci/access.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/pci/access.c linux-4.4.56/drivers/pci/access.c
+--- linux-4.4.56.orig/drivers/pci/access.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/pci/access.c 2017-03-23 07:59:27.983524342 +0100
@@ -561,7 +561,7 @@
WARN_ON(!dev->block_cfg_access);
@@ -10562,9 +10611,217 @@ diff -Nur linux-4.4.46.orig/drivers/pci/access.c linux-4.4.46/drivers/pci/access
raw_spin_unlock_irqrestore(&pci_lock, flags);
}
EXPORT_SYMBOL_GPL(pci_cfg_access_unlock);
-diff -Nur linux-4.4.46.orig/drivers/scsi/fcoe/fcoe.c linux-4.4.46/drivers/scsi/fcoe/fcoe.c
---- linux-4.4.46.orig/drivers/scsi/fcoe/fcoe.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/scsi/fcoe/fcoe.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/pinctrl/qcom/pinctrl-msm.c linux-4.4.56/drivers/pinctrl/qcom/pinctrl-msm.c
+--- linux-4.4.56.orig/drivers/pinctrl/qcom/pinctrl-msm.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/pinctrl/qcom/pinctrl-msm.c 2017-03-23 07:59:27.983524342 +0100
+@@ -60,7 +60,7 @@
+ struct notifier_block restart_nb;
+ int irq;
+
+- spinlock_t lock;
++ raw_spinlock_t lock;
+
+ DECLARE_BITMAP(dual_edge_irqs, MAX_NR_GPIO);
+ DECLARE_BITMAP(enabled_irqs, MAX_NR_GPIO);
+@@ -156,14 +156,14 @@
+ if (WARN_ON(i == g->nfuncs))
+ return -EINVAL;
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ val = readl(pctrl->regs + g->ctl_reg);
+ val &= ~(0x7 << g->mux_bit);
+ val |= i << g->mux_bit;
+ writel(val, pctrl->regs + g->ctl_reg);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+
+ return 0;
+ }
+@@ -326,14 +326,14 @@
+ break;
+ case PIN_CONFIG_OUTPUT:
+ /* set output value */
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+ val = readl(pctrl->regs + g->io_reg);
+ if (arg)
+ val |= BIT(g->out_bit);
+ else
+ val &= ~BIT(g->out_bit);
+ writel(val, pctrl->regs + g->io_reg);
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+
+ /* enable output */
+ arg = 1;
+@@ -354,12 +354,12 @@
+ return -EINVAL;
+ }
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+ val = readl(pctrl->regs + g->ctl_reg);
+ val &= ~(mask << bit);
+ val |= arg << bit;
+ writel(val, pctrl->regs + g->ctl_reg);
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+ }
+
+ return 0;
+@@ -387,13 +387,13 @@
+
+ g = &pctrl->soc->groups[offset];
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ val = readl(pctrl->regs + g->ctl_reg);
+ val &= ~BIT(g->oe_bit);
+ writel(val, pctrl->regs + g->ctl_reg);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+
+ return 0;
+ }
+@@ -407,7 +407,7 @@
+
+ g = &pctrl->soc->groups[offset];
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ val = readl(pctrl->regs + g->io_reg);
+ if (value)
+@@ -420,7 +420,7 @@
+ val |= BIT(g->oe_bit);
+ writel(val, pctrl->regs + g->ctl_reg);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+
+ return 0;
+ }
+@@ -446,7 +446,7 @@
+
+ g = &pctrl->soc->groups[offset];
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ val = readl(pctrl->regs + g->io_reg);
+ if (value)
+@@ -455,7 +455,7 @@
+ val &= ~BIT(g->out_bit);
+ writel(val, pctrl->regs + g->io_reg);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+ }
+
+ #ifdef CONFIG_DEBUG_FS
+@@ -574,7 +574,7 @@
+
+ g = &pctrl->soc->groups[d->hwirq];
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ val = readl(pctrl->regs + g->intr_cfg_reg);
+ val &= ~BIT(g->intr_enable_bit);
+@@ -582,7 +582,7 @@
+
+ clear_bit(d->hwirq, pctrl->enabled_irqs);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+ }
+
+ static void msm_gpio_irq_unmask(struct irq_data *d)
+@@ -595,7 +595,7 @@
+
+ g = &pctrl->soc->groups[d->hwirq];
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ val = readl(pctrl->regs + g->intr_status_reg);
+ val &= ~BIT(g->intr_status_bit);
+@@ -607,7 +607,7 @@
+
+ set_bit(d->hwirq, pctrl->enabled_irqs);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+ }
+
+ static void msm_gpio_irq_ack(struct irq_data *d)
+@@ -620,7 +620,7 @@
+
+ g = &pctrl->soc->groups[d->hwirq];
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ val = readl(pctrl->regs + g->intr_status_reg);
+ if (g->intr_ack_high)
+@@ -632,7 +632,7 @@
+ if (test_bit(d->hwirq, pctrl->dual_edge_irqs))
+ msm_gpio_update_dual_edge_pos(pctrl, g, d);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+ }
+
+ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type)
+@@ -645,7 +645,7 @@
+
+ g = &pctrl->soc->groups[d->hwirq];
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ /*
+ * For hw without possibility of detecting both edges
+@@ -719,7 +719,7 @@
+ if (test_bit(d->hwirq, pctrl->dual_edge_irqs))
+ msm_gpio_update_dual_edge_pos(pctrl, g, d);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+
+ if (type & (IRQ_TYPE_LEVEL_LOW | IRQ_TYPE_LEVEL_HIGH))
+ irq_set_handler_locked(d, handle_level_irq);
+@@ -735,11 +735,11 @@
+ struct msm_pinctrl *pctrl = to_msm_pinctrl(gc);
+ unsigned long flags;
+
+- spin_lock_irqsave(&pctrl->lock, flags);
++ raw_spin_lock_irqsave(&pctrl->lock, flags);
+
+ irq_set_irq_wake(pctrl->irq, on);
+
+- spin_unlock_irqrestore(&pctrl->lock, flags);
++ raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+
+ return 0;
+ }
+@@ -885,7 +885,7 @@
+ pctrl->soc = soc_data;
+ pctrl->chip = msm_gpio_template;
+
+- spin_lock_init(&pctrl->lock);
++ raw_spin_lock_init(&pctrl->lock);
+
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ pctrl->regs = devm_ioremap_resource(&pdev->dev, res);
+diff -Nur linux-4.4.56.orig/drivers/scsi/fcoe/fcoe.c linux-4.4.56/drivers/scsi/fcoe/fcoe.c
+--- linux-4.4.56.orig/drivers/scsi/fcoe/fcoe.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/scsi/fcoe/fcoe.c 2017-03-23 07:59:27.983524342 +0100
@@ -1286,7 +1286,7 @@
struct sk_buff *skb;
#ifdef CONFIG_SMP
@@ -10637,9 +10894,9 @@ diff -Nur linux-4.4.46.orig/drivers/scsi/fcoe/fcoe.c linux-4.4.46/drivers/scsi/f
kfree_skb(skb);
}
-diff -Nur linux-4.4.46.orig/drivers/scsi/fcoe/fcoe_ctlr.c linux-4.4.46/drivers/scsi/fcoe/fcoe_ctlr.c
---- linux-4.4.46.orig/drivers/scsi/fcoe/fcoe_ctlr.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/scsi/fcoe/fcoe_ctlr.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/scsi/fcoe/fcoe_ctlr.c linux-4.4.56/drivers/scsi/fcoe/fcoe_ctlr.c
+--- linux-4.4.56.orig/drivers/scsi/fcoe/fcoe_ctlr.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/scsi/fcoe/fcoe_ctlr.c 2017-03-23 07:59:27.983524342 +0100
@@ -831,7 +831,7 @@
INIT_LIST_HEAD(&del_list);
@@ -10658,9 +10915,9 @@ diff -Nur linux-4.4.46.orig/drivers/scsi/fcoe/fcoe_ctlr.c linux-4.4.46/drivers/s
list_for_each_entry_safe(fcf, next, &del_list, list) {
/* Removes fcf from current list */
-diff -Nur linux-4.4.46.orig/drivers/scsi/libfc/fc_exch.c linux-4.4.46/drivers/scsi/libfc/fc_exch.c
---- linux-4.4.46.orig/drivers/scsi/libfc/fc_exch.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/scsi/libfc/fc_exch.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/scsi/libfc/fc_exch.c linux-4.4.56/drivers/scsi/libfc/fc_exch.c
+--- linux-4.4.56.orig/drivers/scsi/libfc/fc_exch.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/scsi/libfc/fc_exch.c 2017-03-23 07:59:27.983524342 +0100
@@ -814,10 +814,10 @@
}
memset(ep, 0, sizeof(*ep));
@@ -10674,9 +10931,9 @@ diff -Nur linux-4.4.46.orig/drivers/scsi/libfc/fc_exch.c linux-4.4.46/drivers/sc
/* peek cache of free slot */
if (pool->left != FC_XID_UNKNOWN) {
-diff -Nur linux-4.4.46.orig/drivers/scsi/libsas/sas_ata.c linux-4.4.46/drivers/scsi/libsas/sas_ata.c
---- linux-4.4.46.orig/drivers/scsi/libsas/sas_ata.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/scsi/libsas/sas_ata.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/scsi/libsas/sas_ata.c linux-4.4.56/drivers/scsi/libsas/sas_ata.c
+--- linux-4.4.56.orig/drivers/scsi/libsas/sas_ata.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/scsi/libsas/sas_ata.c 2017-03-23 07:59:27.983524342 +0100
@@ -190,7 +190,7 @@
/* TODO: audit callers to ensure they are ready for qc_issue to
* unconditionally re-enable interrupts
@@ -10695,9 +10952,9 @@ diff -Nur linux-4.4.46.orig/drivers/scsi/libsas/sas_ata.c linux-4.4.46/drivers/s
return ret;
}
-diff -Nur linux-4.4.46.orig/drivers/scsi/qla2xxx/qla_inline.h linux-4.4.46/drivers/scsi/qla2xxx/qla_inline.h
---- linux-4.4.46.orig/drivers/scsi/qla2xxx/qla_inline.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/scsi/qla2xxx/qla_inline.h 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/scsi/qla2xxx/qla_inline.h linux-4.4.56/drivers/scsi/qla2xxx/qla_inline.h
+--- linux-4.4.56.orig/drivers/scsi/qla2xxx/qla_inline.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/scsi/qla2xxx/qla_inline.h 2017-03-23 07:59:27.983524342 +0100
@@ -59,12 +59,12 @@
{
unsigned long flags;
@@ -10713,9 +10970,9 @@ diff -Nur linux-4.4.46.orig/drivers/scsi/qla2xxx/qla_inline.h linux-4.4.46/drive
}
static inline uint8_t *
-diff -Nur linux-4.4.46.orig/drivers/thermal/x86_pkg_temp_thermal.c linux-4.4.46/drivers/thermal/x86_pkg_temp_thermal.c
---- linux-4.4.46.orig/drivers/thermal/x86_pkg_temp_thermal.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/thermal/x86_pkg_temp_thermal.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/thermal/x86_pkg_temp_thermal.c linux-4.4.56/drivers/thermal/x86_pkg_temp_thermal.c
+--- linux-4.4.56.orig/drivers/thermal/x86_pkg_temp_thermal.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/thermal/x86_pkg_temp_thermal.c 2017-03-23 07:59:27.983524342 +0100
@@ -29,6 +29,7 @@
#include <linux/pm.h>
#include <linux/thermal.h>
@@ -10818,9 +11075,9 @@ diff -Nur linux-4.4.46.orig/drivers/thermal/x86_pkg_temp_thermal.c linux-4.4.46/
for_each_online_cpu(i)
cancel_delayed_work_sync(
&per_cpu(pkg_temp_thermal_threshold_work, i));
-diff -Nur linux-4.4.46.orig/drivers/tty/serial/8250/8250_core.c linux-4.4.46/drivers/tty/serial/8250/8250_core.c
---- linux-4.4.46.orig/drivers/tty/serial/8250/8250_core.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/tty/serial/8250/8250_core.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/tty/serial/8250/8250_core.c linux-4.4.56/drivers/tty/serial/8250/8250_core.c
+--- linux-4.4.56.orig/drivers/tty/serial/8250/8250_core.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/tty/serial/8250/8250_core.c 2017-03-23 07:59:27.983524342 +0100
@@ -58,7 +58,16 @@
static unsigned int skip_txen_test; /* force skip of txen test at init time */
@@ -10839,9 +11096,9 @@ diff -Nur linux-4.4.46.orig/drivers/tty/serial/8250/8250_core.c linux-4.4.46/dri
#include <asm/serial.h>
/*
-diff -Nur linux-4.4.46.orig/drivers/tty/serial/8250/8250_port.c linux-4.4.46/drivers/tty/serial/8250/8250_port.c
---- linux-4.4.46.orig/drivers/tty/serial/8250/8250_port.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/tty/serial/8250/8250_port.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/tty/serial/8250/8250_port.c linux-4.4.56/drivers/tty/serial/8250/8250_port.c
+--- linux-4.4.56.orig/drivers/tty/serial/8250/8250_port.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/tty/serial/8250/8250_port.c 2017-03-23 07:59:27.983524342 +0100
@@ -35,6 +35,7 @@
#include <linux/nmi.h>
#include <linux/mutex.h>
@@ -10862,9 +11119,9 @@ diff -Nur linux-4.4.46.orig/drivers/tty/serial/8250/8250_port.c linux-4.4.46/dri
locked = spin_trylock_irqsave(&port->lock, flags);
else
spin_lock_irqsave(&port->lock, flags);
-diff -Nur linux-4.4.46.orig/drivers/tty/serial/amba-pl011.c linux-4.4.46/drivers/tty/serial/amba-pl011.c
---- linux-4.4.46.orig/drivers/tty/serial/amba-pl011.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/tty/serial/amba-pl011.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/tty/serial/amba-pl011.c linux-4.4.56/drivers/tty/serial/amba-pl011.c
+--- linux-4.4.56.orig/drivers/tty/serial/amba-pl011.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/tty/serial/amba-pl011.c 2017-03-23 07:59:27.987524487 +0100
@@ -2067,13 +2067,19 @@
clk_enable(uap->clk);
@@ -10898,9 +11155,9 @@ diff -Nur linux-4.4.46.orig/drivers/tty/serial/amba-pl011.c linux-4.4.46/drivers
clk_disable(uap->clk);
}
-diff -Nur linux-4.4.46.orig/drivers/tty/serial/omap-serial.c linux-4.4.46/drivers/tty/serial/omap-serial.c
---- linux-4.4.46.orig/drivers/tty/serial/omap-serial.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/tty/serial/omap-serial.c 2017-02-03 17:18:05.695416949 +0100
+diff -Nur linux-4.4.56.orig/drivers/tty/serial/omap-serial.c linux-4.4.56/drivers/tty/serial/omap-serial.c
+--- linux-4.4.56.orig/drivers/tty/serial/omap-serial.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/tty/serial/omap-serial.c 2017-03-23 07:59:27.987524487 +0100
@@ -1257,13 +1257,10 @@
pm_runtime_get_sync(up->dev);
@@ -10928,9 +11185,9 @@ diff -Nur linux-4.4.46.orig/drivers/tty/serial/omap-serial.c linux-4.4.46/driver
}
static int __init
-diff -Nur linux-4.4.46.orig/drivers/usb/core/hcd.c linux-4.4.46/drivers/usb/core/hcd.c
---- linux-4.4.46.orig/drivers/usb/core/hcd.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/usb/core/hcd.c 2017-02-03 17:18:10.895617822 +0100
+diff -Nur linux-4.4.56.orig/drivers/usb/core/hcd.c linux-4.4.56/drivers/usb/core/hcd.c
+--- linux-4.4.56.orig/drivers/usb/core/hcd.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/usb/core/hcd.c 2017-03-23 07:59:27.987524487 +0100
@@ -1735,9 +1735,9 @@
* and no one may trigger the above deadlock situation when
* running complete() in tasklet.
@@ -10943,9 +11200,9 @@ diff -Nur linux-4.4.46.orig/drivers/usb/core/hcd.c linux-4.4.46/drivers/usb/core
usb_anchor_resume_wakeups(anchor);
atomic_dec(&urb->use_count);
-diff -Nur linux-4.4.46.orig/drivers/usb/gadget/function/f_fs.c linux-4.4.46/drivers/usb/gadget/function/f_fs.c
---- linux-4.4.46.orig/drivers/usb/gadget/function/f_fs.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/usb/gadget/function/f_fs.c 2017-02-03 17:18:10.895617822 +0100
+diff -Nur linux-4.4.56.orig/drivers/usb/gadget/function/f_fs.c linux-4.4.56/drivers/usb/gadget/function/f_fs.c
+--- linux-4.4.56.orig/drivers/usb/gadget/function/f_fs.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/usb/gadget/function/f_fs.c 2017-03-23 07:59:27.987524487 +0100
@@ -1404,7 +1404,7 @@
pr_info("%s(): freeing\n", __func__);
ffs_data_clear(ffs);
@@ -10955,9 +11212,9 @@ diff -Nur linux-4.4.46.orig/drivers/usb/gadget/function/f_fs.c linux-4.4.46/driv
kfree(ffs->dev_name);
kfree(ffs);
}
-diff -Nur linux-4.4.46.orig/drivers/usb/gadget/legacy/inode.c linux-4.4.46/drivers/usb/gadget/legacy/inode.c
---- linux-4.4.46.orig/drivers/usb/gadget/legacy/inode.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/usb/gadget/legacy/inode.c 2017-02-03 17:18:10.895617822 +0100
+diff -Nur linux-4.4.56.orig/drivers/usb/gadget/legacy/inode.c linux-4.4.56/drivers/usb/gadget/legacy/inode.c
+--- linux-4.4.56.orig/drivers/usb/gadget/legacy/inode.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/usb/gadget/legacy/inode.c 2017-03-23 07:59:27.987524487 +0100
@@ -345,7 +345,7 @@
spin_unlock_irq (&epdata->dev->lock);
@@ -10976,9 +11233,9 @@ diff -Nur linux-4.4.46.orig/drivers/usb/gadget/legacy/inode.c linux-4.4.46/drive
if (epdata->status == -ECONNRESET)
epdata->status = -EINTR;
} else {
-diff -Nur linux-4.4.46.orig/drivers/usb/gadget/udc/atmel_usba_udc.c linux-4.4.46/drivers/usb/gadget/udc/atmel_usba_udc.c
---- linux-4.4.46.orig/drivers/usb/gadget/udc/atmel_usba_udc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/usb/gadget/udc/atmel_usba_udc.c 2017-02-03 17:18:10.895617822 +0100
+diff -Nur linux-4.4.56.orig/drivers/usb/gadget/udc/atmel_usba_udc.c linux-4.4.56/drivers/usb/gadget/udc/atmel_usba_udc.c
+--- linux-4.4.56.orig/drivers/usb/gadget/udc/atmel_usba_udc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/usb/gadget/udc/atmel_usba_udc.c 2017-03-23 07:59:27.987524487 +0100
@@ -17,7 +17,9 @@
#include <linux/device.h>
#include <linux/dma-mapping.h>
@@ -11025,9 +11282,9 @@ diff -Nur linux-4.4.46.orig/drivers/usb/gadget/udc/atmel_usba_udc.c linux-4.4.46
udc->num_ep = 0;
-diff -Nur linux-4.4.46.orig/drivers/usb/gadget/udc/atmel_usba_udc.h linux-4.4.46/drivers/usb/gadget/udc/atmel_usba_udc.h
---- linux-4.4.46.orig/drivers/usb/gadget/udc/atmel_usba_udc.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/drivers/usb/gadget/udc/atmel_usba_udc.h 2017-02-03 17:18:10.895617822 +0100
+diff -Nur linux-4.4.56.orig/drivers/usb/gadget/udc/atmel_usba_udc.h linux-4.4.56/drivers/usb/gadget/udc/atmel_usba_udc.h
+--- linux-4.4.56.orig/drivers/usb/gadget/udc/atmel_usba_udc.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/drivers/usb/gadget/udc/atmel_usba_udc.h 2017-03-23 07:59:27.987524487 +0100
@@ -354,6 +354,8 @@
struct dentry *debugfs_root;
struct dentry *debugfs_regs;
@@ -11037,9 +11294,9 @@ diff -Nur linux-4.4.46.orig/drivers/usb/gadget/udc/atmel_usba_udc.h linux-4.4.46
};
static inline struct usba_ep *to_usba_ep(struct usb_ep *ep)
-diff -Nur linux-4.4.46.orig/fs/aio.c linux-4.4.46/fs/aio.c
---- linux-4.4.46.orig/fs/aio.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/aio.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/aio.c linux-4.4.56/fs/aio.c
+--- linux-4.4.56.orig/fs/aio.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/aio.c 2017-03-23 07:59:27.987524487 +0100
@@ -40,6 +40,7 @@
#include <linux/ramfs.h>
#include <linux/percpu-refcount.h>
@@ -11115,9 +11372,9 @@ diff -Nur linux-4.4.46.orig/fs/aio.c linux-4.4.46/fs/aio.c
static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm)
{
unsigned i, new_nr;
-diff -Nur linux-4.4.46.orig/fs/autofs4/autofs_i.h linux-4.4.46/fs/autofs4/autofs_i.h
---- linux-4.4.46.orig/fs/autofs4/autofs_i.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/autofs4/autofs_i.h 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/autofs4/autofs_i.h linux-4.4.56/fs/autofs4/autofs_i.h
+--- linux-4.4.56.orig/fs/autofs4/autofs_i.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/autofs4/autofs_i.h 2017-03-23 07:59:27.987524487 +0100
@@ -34,6 +34,7 @@
#include <linux/sched.h>
#include <linux/mount.h>
@@ -11126,9 +11383,9 @@ diff -Nur linux-4.4.46.orig/fs/autofs4/autofs_i.h linux-4.4.46/fs/autofs4/autofs
#include <asm/current.h>
#include <asm/uaccess.h>
-diff -Nur linux-4.4.46.orig/fs/autofs4/expire.c linux-4.4.46/fs/autofs4/expire.c
---- linux-4.4.46.orig/fs/autofs4/expire.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/autofs4/expire.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/autofs4/expire.c linux-4.4.56/fs/autofs4/expire.c
+--- linux-4.4.56.orig/fs/autofs4/expire.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/autofs4/expire.c 2017-03-23 07:59:27.987524487 +0100
@@ -150,7 +150,7 @@
parent = p->d_parent;
if (!spin_trylock(&parent->d_lock)) {
@@ -11138,9 +11395,9 @@ diff -Nur linux-4.4.46.orig/fs/autofs4/expire.c linux-4.4.46/fs/autofs4/expire.c
goto relock;
}
spin_unlock(&p->d_lock);
-diff -Nur linux-4.4.46.orig/fs/buffer.c linux-4.4.46/fs/buffer.c
---- linux-4.4.46.orig/fs/buffer.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/buffer.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/buffer.c linux-4.4.56/fs/buffer.c
+--- linux-4.4.56.orig/fs/buffer.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/buffer.c 2017-03-23 07:59:27.987524487 +0100
@@ -305,8 +305,7 @@
* decide that the page is now completely done.
*/
@@ -11208,9 +11465,9 @@ diff -Nur linux-4.4.46.orig/fs/buffer.c linux-4.4.46/fs/buffer.c
preempt_disable();
__this_cpu_inc(bh_accounting.nr);
recalc_bh_state();
-diff -Nur linux-4.4.46.orig/fs/dcache.c linux-4.4.46/fs/dcache.c
---- linux-4.4.46.orig/fs/dcache.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/dcache.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/dcache.c linux-4.4.56/fs/dcache.c
+--- linux-4.4.56.orig/fs/dcache.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/dcache.c 2017-03-23 07:59:27.987524487 +0100
@@ -19,6 +19,7 @@
#include <linux/mm.h>
#include <linux/fs.h>
@@ -11259,9 +11516,9 @@ diff -Nur linux-4.4.46.orig/fs/dcache.c linux-4.4.46/fs/dcache.c
goto again;
}
dentry->d_flags &= ~DCACHE_CANT_MOUNT;
-diff -Nur linux-4.4.46.orig/fs/eventpoll.c linux-4.4.46/fs/eventpoll.c
---- linux-4.4.46.orig/fs/eventpoll.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/eventpoll.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/eventpoll.c linux-4.4.56/fs/eventpoll.c
+--- linux-4.4.56.orig/fs/eventpoll.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/eventpoll.c 2017-03-23 07:59:27.991524649 +0100
@@ -505,12 +505,12 @@
*/
static void ep_poll_safewake(wait_queue_head_t *wq)
@@ -11277,9 +11534,9 @@ diff -Nur linux-4.4.46.orig/fs/eventpoll.c linux-4.4.46/fs/eventpoll.c
}
static void ep_remove_wait_queue(struct eppoll_entry *pwq)
-diff -Nur linux-4.4.46.orig/fs/exec.c linux-4.4.46/fs/exec.c
---- linux-4.4.46.orig/fs/exec.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/exec.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/exec.c linux-4.4.56/fs/exec.c
+--- linux-4.4.56.orig/fs/exec.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/exec.c 2017-03-23 07:59:27.991524649 +0100
@@ -866,12 +866,14 @@
}
}
@@ -11295,9 +11552,9 @@ diff -Nur linux-4.4.46.orig/fs/exec.c linux-4.4.46/fs/exec.c
task_unlock(tsk);
if (old_mm) {
up_read(&old_mm->mmap_sem);
-diff -Nur linux-4.4.46.orig/fs/f2fs/f2fs.h linux-4.4.46/fs/f2fs/f2fs.h
---- linux-4.4.46.orig/fs/f2fs/f2fs.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/f2fs/f2fs.h 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/f2fs/f2fs.h linux-4.4.56/fs/f2fs/f2fs.h
+--- linux-4.4.56.orig/fs/f2fs/f2fs.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/f2fs/f2fs.h 2017-03-23 07:59:27.991524649 +0100
@@ -24,7 +24,6 @@
#ifdef CONFIG_F2FS_CHECK_FS
@@ -11323,9 +11580,9 @@ diff -Nur linux-4.4.46.orig/fs/f2fs/f2fs.h linux-4.4.46/fs/f2fs/f2fs.h
}
static inline void f2fs_unlock_all(struct f2fs_sb_info *sbi)
-diff -Nur linux-4.4.46.orig/fs/jbd2/checkpoint.c linux-4.4.46/fs/jbd2/checkpoint.c
---- linux-4.4.46.orig/fs/jbd2/checkpoint.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/jbd2/checkpoint.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/jbd2/checkpoint.c linux-4.4.56/fs/jbd2/checkpoint.c
+--- linux-4.4.56.orig/fs/jbd2/checkpoint.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/jbd2/checkpoint.c 2017-03-23 07:59:27.991524649 +0100
@@ -116,6 +116,8 @@
nblocks = jbd2_space_needed(journal);
while (jbd2_log_space_left(journal) < nblocks) {
@@ -11335,9 +11592,9 @@ diff -Nur linux-4.4.46.orig/fs/jbd2/checkpoint.c linux-4.4.46/fs/jbd2/checkpoint
mutex_lock(&journal->j_checkpoint_mutex);
/*
-diff -Nur linux-4.4.46.orig/fs/namespace.c linux-4.4.46/fs/namespace.c
---- linux-4.4.46.orig/fs/namespace.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/namespace.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/namespace.c linux-4.4.56/fs/namespace.c
+--- linux-4.4.56.orig/fs/namespace.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/namespace.c 2017-03-23 07:59:27.991524649 +0100
@@ -14,6 +14,7 @@
#include <linux/mnt_namespace.h>
#include <linux/user_namespace.h>
@@ -11360,9 +11617,9 @@ diff -Nur linux-4.4.46.orig/fs/namespace.c linux-4.4.46/fs/namespace.c
/*
* After the slowpath clears MNT_WRITE_HOLD, mnt_is_readonly will
* be set to match its requirements. So we must not load that until
-diff -Nur linux-4.4.46.orig/fs/ntfs/aops.c linux-4.4.46/fs/ntfs/aops.c
---- linux-4.4.46.orig/fs/ntfs/aops.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/ntfs/aops.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/ntfs/aops.c linux-4.4.56/fs/ntfs/aops.c
+--- linux-4.4.56.orig/fs/ntfs/aops.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/ntfs/aops.c 2017-03-23 07:59:27.991524649 +0100
@@ -107,8 +107,7 @@
"0x%llx.", (unsigned long long)bh->b_blocknr);
}
@@ -11410,9 +11667,9 @@ diff -Nur linux-4.4.46.orig/fs/ntfs/aops.c linux-4.4.46/fs/ntfs/aops.c
}
/**
-diff -Nur linux-4.4.46.orig/fs/timerfd.c linux-4.4.46/fs/timerfd.c
---- linux-4.4.46.orig/fs/timerfd.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/fs/timerfd.c 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/fs/timerfd.c linux-4.4.56/fs/timerfd.c
+--- linux-4.4.56.orig/fs/timerfd.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/fs/timerfd.c 2017-03-23 07:59:27.991524649 +0100
@@ -450,7 +450,10 @@
break;
}
@@ -11425,9 +11682,9 @@ diff -Nur linux-4.4.46.orig/fs/timerfd.c linux-4.4.46/fs/timerfd.c
}
/*
-diff -Nur linux-4.4.46.orig/include/acpi/platform/aclinux.h linux-4.4.46/include/acpi/platform/aclinux.h
---- linux-4.4.46.orig/include/acpi/platform/aclinux.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/acpi/platform/aclinux.h 2017-02-03 17:18:10.899617976 +0100
+diff -Nur linux-4.4.56.orig/include/acpi/platform/aclinux.h linux-4.4.56/include/acpi/platform/aclinux.h
+--- linux-4.4.56.orig/include/acpi/platform/aclinux.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/acpi/platform/aclinux.h 2017-03-23 07:59:27.991524649 +0100
@@ -127,6 +127,7 @@
#define acpi_cache_t struct kmem_cache
@@ -11457,9 +11714,9 @@ diff -Nur linux-4.4.46.orig/include/acpi/platform/aclinux.h linux-4.4.46/include
/*
* OSL interfaces used by debugger/disassembler
*/
-diff -Nur linux-4.4.46.orig/include/asm-generic/bug.h linux-4.4.46/include/asm-generic/bug.h
---- linux-4.4.46.orig/include/asm-generic/bug.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/asm-generic/bug.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/asm-generic/bug.h linux-4.4.56/include/asm-generic/bug.h
+--- linux-4.4.56.orig/include/asm-generic/bug.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/asm-generic/bug.h 2017-03-23 07:59:27.991524649 +0100
@@ -206,6 +206,20 @@
# define WARN_ON_SMP(x) ({0;})
#endif
@@ -11481,9 +11738,9 @@ diff -Nur linux-4.4.46.orig/include/asm-generic/bug.h linux-4.4.46/include/asm-g
#endif /* __ASSEMBLY__ */
#endif
-diff -Nur linux-4.4.46.orig/include/asm-generic/preempt.h linux-4.4.46/include/asm-generic/preempt.h
---- linux-4.4.46.orig/include/asm-generic/preempt.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/asm-generic/preempt.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/asm-generic/preempt.h linux-4.4.56/include/asm-generic/preempt.h
+--- linux-4.4.56.orig/include/asm-generic/preempt.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/asm-generic/preempt.h 2017-03-23 07:59:27.991524649 +0100
@@ -7,10 +7,10 @@
static __always_inline int preempt_count(void)
@@ -11497,9 +11754,9 @@ diff -Nur linux-4.4.46.orig/include/asm-generic/preempt.h linux-4.4.46/include/a
{
return &current_thread_info()->preempt_count;
}
-diff -Nur linux-4.4.46.orig/include/linux/blkdev.h linux-4.4.46/include/linux/blkdev.h
---- linux-4.4.46.orig/include/linux/blkdev.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/blkdev.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/blkdev.h linux-4.4.56/include/linux/blkdev.h
+--- linux-4.4.56.orig/include/linux/blkdev.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/blkdev.h 2017-03-23 07:59:27.991524649 +0100
@@ -89,6 +89,7 @@
struct list_head queuelist;
union {
@@ -11517,9 +11774,9 @@ diff -Nur linux-4.4.46.orig/include/linux/blkdev.h linux-4.4.46/include/linux/bl
struct percpu_ref q_usage_counter;
struct list_head all_q_node;
-diff -Nur linux-4.4.46.orig/include/linux/blk-mq.h linux-4.4.46/include/linux/blk-mq.h
---- linux-4.4.46.orig/include/linux/blk-mq.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/blk-mq.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/blk-mq.h linux-4.4.56/include/linux/blk-mq.h
+--- linux-4.4.56.orig/include/linux/blk-mq.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/blk-mq.h 2017-03-23 07:59:27.991524649 +0100
@@ -212,6 +212,7 @@
struct blk_mq_hw_ctx *blk_mq_map_queue(struct request_queue *, const int ctx_index);
@@ -11528,9 +11785,9 @@ diff -Nur linux-4.4.46.orig/include/linux/blk-mq.h linux-4.4.46/include/linux/bl
int blk_mq_request_started(struct request *rq);
void blk_mq_start_request(struct request *rq);
-diff -Nur linux-4.4.46.orig/include/linux/bottom_half.h linux-4.4.46/include/linux/bottom_half.h
---- linux-4.4.46.orig/include/linux/bottom_half.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/bottom_half.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/bottom_half.h linux-4.4.56/include/linux/bottom_half.h
+--- linux-4.4.56.orig/include/linux/bottom_half.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/bottom_half.h 2017-03-23 07:59:27.991524649 +0100
@@ -3,6 +3,39 @@
#include <linux/preempt.h>
@@ -11578,9 +11835,9 @@ diff -Nur linux-4.4.46.orig/include/linux/bottom_half.h linux-4.4.46/include/lin
+#endif
#endif /* _LINUX_BH_H */
-diff -Nur linux-4.4.46.orig/include/linux/buffer_head.h linux-4.4.46/include/linux/buffer_head.h
---- linux-4.4.46.orig/include/linux/buffer_head.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/buffer_head.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/buffer_head.h linux-4.4.56/include/linux/buffer_head.h
+--- linux-4.4.56.orig/include/linux/buffer_head.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/buffer_head.h 2017-03-23 07:59:27.991524649 +0100
@@ -75,8 +75,50 @@
struct address_space *b_assoc_map; /* mapping this buffer is
associated with */
@@ -11632,9 +11889,9 @@ diff -Nur linux-4.4.46.orig/include/linux/buffer_head.h linux-4.4.46/include/lin
/*
* macro tricks to expand the set_buffer_foo(), clear_buffer_foo()
* and buffer_foo() functions.
-diff -Nur linux-4.4.46.orig/include/linux/cgroup-defs.h linux-4.4.46/include/linux/cgroup-defs.h
---- linux-4.4.46.orig/include/linux/cgroup-defs.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/cgroup-defs.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/cgroup-defs.h linux-4.4.56/include/linux/cgroup-defs.h
+--- linux-4.4.56.orig/include/linux/cgroup-defs.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/cgroup-defs.h 2017-03-23 07:59:27.991524649 +0100
@@ -16,6 +16,7 @@
#include <linux/percpu-refcount.h>
#include <linux/percpu-rwsem.h>
@@ -11651,9 +11908,9 @@ diff -Nur linux-4.4.46.orig/include/linux/cgroup-defs.h linux-4.4.46/include/lin
};
/*
-diff -Nur linux-4.4.46.orig/include/linux/clk/at91_pmc.h linux-4.4.46/include/linux/clk/at91_pmc.h
---- linux-4.4.46.orig/include/linux/clk/at91_pmc.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/clk/at91_pmc.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/clk/at91_pmc.h linux-4.4.56/include/linux/clk/at91_pmc.h
+--- linux-4.4.56.orig/include/linux/clk/at91_pmc.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/clk/at91_pmc.h 2017-03-23 07:59:27.991524649 +0100
@@ -16,18 +16,6 @@
#ifndef AT91_PMC_H
#define AT91_PMC_H
@@ -11673,9 +11930,9 @@ diff -Nur linux-4.4.46.orig/include/linux/clk/at91_pmc.h linux-4.4.46/include/li
#define AT91_PMC_SCER 0x00 /* System Clock Enable Register */
#define AT91_PMC_SCDR 0x04 /* System Clock Disable Register */
-diff -Nur linux-4.4.46.orig/include/linux/completion.h linux-4.4.46/include/linux/completion.h
---- linux-4.4.46.orig/include/linux/completion.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/completion.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/completion.h linux-4.4.56/include/linux/completion.h
+--- linux-4.4.56.orig/include/linux/completion.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/completion.h 2017-03-23 07:59:27.991524649 +0100
@@ -7,8 +7,7 @@
* Atomic wait-for-completion handler data structures.
* See kernel/sched/completion.c for details.
@@ -11709,9 +11966,9 @@ diff -Nur linux-4.4.46.orig/include/linux/completion.h linux-4.4.46/include/linu
}
/**
-diff -Nur linux-4.4.46.orig/include/linux/cpu.h linux-4.4.46/include/linux/cpu.h
---- linux-4.4.46.orig/include/linux/cpu.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/cpu.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/cpu.h linux-4.4.56/include/linux/cpu.h
+--- linux-4.4.56.orig/include/linux/cpu.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/cpu.h 2017-03-23 07:59:27.991524649 +0100
@@ -224,6 +224,8 @@
extern void put_online_cpus(void);
extern void cpu_hotplug_disable(void);
@@ -11730,9 +11987,9 @@ diff -Nur linux-4.4.46.orig/include/linux/cpu.h linux-4.4.46/include/linux/cpu.h
#define hotcpu_notifier(fn, pri) do { (void)(fn); } while (0)
#define __hotcpu_notifier(fn, pri) do { (void)(fn); } while (0)
/* These aren't inline functions due to a GCC bug. */
-diff -Nur linux-4.4.46.orig/include/linux/delay.h linux-4.4.46/include/linux/delay.h
---- linux-4.4.46.orig/include/linux/delay.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/delay.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/delay.h linux-4.4.56/include/linux/delay.h
+--- linux-4.4.56.orig/include/linux/delay.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/delay.h 2017-03-23 07:59:27.991524649 +0100
@@ -52,4 +52,10 @@
msleep(seconds * 1000);
}
@@ -11744,9 +12001,9 @@ diff -Nur linux-4.4.46.orig/include/linux/delay.h linux-4.4.46/include/linux/del
+#endif
+
#endif /* defined(_LINUX_DELAY_H) */
-diff -Nur linux-4.4.46.orig/include/linux/ftrace.h linux-4.4.46/include/linux/ftrace.h
---- linux-4.4.46.orig/include/linux/ftrace.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/ftrace.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/ftrace.h linux-4.4.56/include/linux/ftrace.h
+--- linux-4.4.56.orig/include/linux/ftrace.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/ftrace.h 2017-03-23 07:59:27.991524649 +0100
@@ -694,6 +694,18 @@
#define CALLER_ADDR5 ((unsigned long)ftrace_return_address(5))
#define CALLER_ADDR6 ((unsigned long)ftrace_return_address(6))
@@ -11766,9 +12023,9 @@ diff -Nur linux-4.4.46.orig/include/linux/ftrace.h linux-4.4.46/include/linux/ft
#ifdef CONFIG_IRQSOFF_TRACER
extern void time_hardirqs_on(unsigned long a0, unsigned long a1);
extern void time_hardirqs_off(unsigned long a0, unsigned long a1);
-diff -Nur linux-4.4.46.orig/include/linux/highmem.h linux-4.4.46/include/linux/highmem.h
---- linux-4.4.46.orig/include/linux/highmem.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/highmem.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/highmem.h linux-4.4.56/include/linux/highmem.h
+--- linux-4.4.56.orig/include/linux/highmem.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/highmem.h 2017-03-23 07:59:27.991524649 +0100
@@ -7,6 +7,7 @@
#include <linux/mm.h>
#include <linux/uaccess.h>
@@ -11851,9 +12108,9 @@ diff -Nur linux-4.4.46.orig/include/linux/highmem.h linux-4.4.46/include/linux/h
#endif
}
-diff -Nur linux-4.4.46.orig/include/linux/hrtimer.h linux-4.4.46/include/linux/hrtimer.h
---- linux-4.4.46.orig/include/linux/hrtimer.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/hrtimer.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/hrtimer.h linux-4.4.56/include/linux/hrtimer.h
+--- linux-4.4.56.orig/include/linux/hrtimer.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/hrtimer.h 2017-03-23 07:59:27.991524649 +0100
@@ -87,6 +87,9 @@
* @function: timer expiry callback function
* @base: pointer to the timer base (per cpu and per clock)
@@ -11945,9 +12202,9 @@ diff -Nur linux-4.4.46.orig/include/linux/hrtimer.h linux-4.4.46/include/linux/h
{
return timer->base->cpu_base->running == timer;
}
-diff -Nur linux-4.4.46.orig/include/linux/idr.h linux-4.4.46/include/linux/idr.h
---- linux-4.4.46.orig/include/linux/idr.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/idr.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/idr.h linux-4.4.56/include/linux/idr.h
+--- linux-4.4.56.orig/include/linux/idr.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/idr.h 2017-03-23 07:59:27.995524825 +0100
@@ -95,10 +95,14 @@
* Each idr_preload() should be matched with an invocation of this
* function. See idr_preload() for details.
@@ -11963,9 +12220,9 @@ diff -Nur linux-4.4.46.orig/include/linux/idr.h linux-4.4.46/include/linux/idr.h
/**
* idr_find - return pointer for given id
-diff -Nur linux-4.4.46.orig/include/linux/init_task.h linux-4.4.46/include/linux/init_task.h
---- linux-4.4.46.orig/include/linux/init_task.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/init_task.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/init_task.h linux-4.4.56/include/linux/init_task.h
+--- linux-4.4.56.orig/include/linux/init_task.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/init_task.h 2017-03-23 07:59:27.995524825 +0100
@@ -148,9 +148,15 @@
# define INIT_PERF_EVENTS(tsk)
#endif
@@ -11991,9 +12248,9 @@ diff -Nur linux-4.4.46.orig/include/linux/init_task.h linux-4.4.46/include/linux
.pids = { \
[PIDTYPE_PID] = INIT_PID_LINK(PIDTYPE_PID), \
[PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID), \
-diff -Nur linux-4.4.46.orig/include/linux/interrupt.h linux-4.4.46/include/linux/interrupt.h
---- linux-4.4.46.orig/include/linux/interrupt.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/interrupt.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/interrupt.h linux-4.4.56/include/linux/interrupt.h
+--- linux-4.4.56.orig/include/linux/interrupt.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/interrupt.h 2017-03-23 07:59:27.995524825 +0100
@@ -61,6 +61,7 @@
* interrupt handler after suspending interrupts. For system
* wakeup devices users need to implement wakeup detection in
@@ -12170,9 +12427,9 @@ diff -Nur linux-4.4.46.orig/include/linux/interrupt.h linux-4.4.46/include/linux
/*
* Autoprobing for irqs:
*
-diff -Nur linux-4.4.46.orig/include/linux/irqdesc.h linux-4.4.46/include/linux/irqdesc.h
---- linux-4.4.46.orig/include/linux/irqdesc.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/irqdesc.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/irqdesc.h linux-4.4.56/include/linux/irqdesc.h
+--- linux-4.4.56.orig/include/linux/irqdesc.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/irqdesc.h 2017-03-23 07:59:27.995524825 +0100
@@ -61,6 +61,7 @@
unsigned int irqs_unhandled;
atomic_t threads_handled;
@@ -12181,9 +12438,9 @@ diff -Nur linux-4.4.46.orig/include/linux/irqdesc.h linux-4.4.46/include/linux/i
raw_spinlock_t lock;
struct cpumask *percpu_enabled;
#ifdef CONFIG_SMP
-diff -Nur linux-4.4.46.orig/include/linux/irqflags.h linux-4.4.46/include/linux/irqflags.h
---- linux-4.4.46.orig/include/linux/irqflags.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/irqflags.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/irqflags.h linux-4.4.56/include/linux/irqflags.h
+--- linux-4.4.56.orig/include/linux/irqflags.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/irqflags.h 2017-03-23 07:59:27.995524825 +0100
@@ -25,8 +25,6 @@
# define trace_softirqs_enabled(p) ((p)->softirqs_enabled)
# define trace_hardirq_enter() do { current->hardirq_context++; } while (0)
@@ -12234,9 +12491,9 @@ diff -Nur linux-4.4.46.orig/include/linux/irqflags.h linux-4.4.46/include/linux/
+#endif
+
#endif
-diff -Nur linux-4.4.46.orig/include/linux/irq.h linux-4.4.46/include/linux/irq.h
---- linux-4.4.46.orig/include/linux/irq.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/irq.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/irq.h linux-4.4.56/include/linux/irq.h
+--- linux-4.4.56.orig/include/linux/irq.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/irq.h 2017-03-23 07:59:27.995524825 +0100
@@ -72,6 +72,7 @@
* IRQ_IS_POLLED - Always polled by another interrupt. Exclude
* it from the spurious interrupt detection
@@ -12261,9 +12518,9 @@ diff -Nur linux-4.4.46.orig/include/linux/irq.h linux-4.4.46/include/linux/irq.h
#define IRQ_NO_BALANCING_MASK (IRQ_PER_CPU | IRQ_NO_BALANCING)
-diff -Nur linux-4.4.46.orig/include/linux/irq_work.h linux-4.4.46/include/linux/irq_work.h
---- linux-4.4.46.orig/include/linux/irq_work.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/irq_work.h 2017-02-03 17:18:10.903618130 +0100
+diff -Nur linux-4.4.56.orig/include/linux/irq_work.h linux-4.4.56/include/linux/irq_work.h
+--- linux-4.4.56.orig/include/linux/irq_work.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/irq_work.h 2017-03-23 07:59:27.995524825 +0100
@@ -16,6 +16,7 @@
#define IRQ_WORK_BUSY 2UL
#define IRQ_WORK_FLAGS 3UL
@@ -12283,9 +12540,9 @@ diff -Nur linux-4.4.46.orig/include/linux/irq_work.h linux-4.4.46/include/linux/
+#endif
+
#endif /* _LINUX_IRQ_WORK_H */
-diff -Nur linux-4.4.46.orig/include/linux/jbd2.h linux-4.4.46/include/linux/jbd2.h
---- linux-4.4.46.orig/include/linux/jbd2.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/jbd2.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/jbd2.h linux-4.4.56/include/linux/jbd2.h
+--- linux-4.4.56.orig/include/linux/jbd2.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/jbd2.h 2017-03-23 07:59:27.995524825 +0100
@@ -352,32 +352,56 @@
static inline void jbd_lock_bh_state(struct buffer_head *bh)
@@ -12343,9 +12600,9 @@ diff -Nur linux-4.4.46.orig/include/linux/jbd2.h linux-4.4.46/include/linux/jbd2
}
#define J_ASSERT(assert) BUG_ON(!(assert))
-diff -Nur linux-4.4.46.orig/include/linux/kdb.h linux-4.4.46/include/linux/kdb.h
---- linux-4.4.46.orig/include/linux/kdb.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/kdb.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/kdb.h linux-4.4.56/include/linux/kdb.h
+--- linux-4.4.56.orig/include/linux/kdb.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/kdb.h 2017-03-23 07:59:27.995524825 +0100
@@ -167,6 +167,7 @@
extern __printf(1, 2) int kdb_printf(const char *, ...);
typedef __printf(1, 2) int (*kdb_printf_t)(const char *, ...);
@@ -12362,9 +12619,9 @@ diff -Nur linux-4.4.46.orig/include/linux/kdb.h linux-4.4.46/include/linux/kdb.h
static inline void kdb_init(int level) {}
static inline int kdb_register(char *cmd, kdb_func_t func, char *usage,
char *help, short minlen) { return 0; }
-diff -Nur linux-4.4.46.orig/include/linux/kernel.h linux-4.4.46/include/linux/kernel.h
---- linux-4.4.46.orig/include/linux/kernel.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/kernel.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/kernel.h linux-4.4.56/include/linux/kernel.h
+--- linux-4.4.56.orig/include/linux/kernel.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/kernel.h 2017-03-23 07:59:27.995524825 +0100
@@ -188,6 +188,9 @@
*/
# define might_sleep() \
@@ -12414,9 +12671,9 @@ diff -Nur linux-4.4.46.orig/include/linux/kernel.h linux-4.4.46/include/linux/ke
} system_state;
#define TAINT_PROPRIETARY_MODULE 0
-diff -Nur linux-4.4.46.orig/include/linux/kvm_host.h linux-4.4.46/include/linux/kvm_host.h
---- linux-4.4.46.orig/include/linux/kvm_host.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/kvm_host.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/kvm_host.h linux-4.4.56/include/linux/kvm_host.h
+--- linux-4.4.56.orig/include/linux/kvm_host.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/kvm_host.h 2017-03-23 07:59:27.995524825 +0100
@@ -25,6 +25,7 @@
#include <linux/irqflags.h>
#include <linux/context_tracking.h>
@@ -12443,9 +12700,9 @@ diff -Nur linux-4.4.46.orig/include/linux/kvm_host.h linux-4.4.46/include/linux/
{
#ifdef __KVM_HAVE_ARCH_WQP
return vcpu->arch.wqp;
-diff -Nur linux-4.4.46.orig/include/linux/lglock.h linux-4.4.46/include/linux/lglock.h
---- linux-4.4.46.orig/include/linux/lglock.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/lglock.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/lglock.h linux-4.4.56/include/linux/lglock.h
+--- linux-4.4.56.orig/include/linux/lglock.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/lglock.h 2017-03-23 07:59:27.995524825 +0100
@@ -34,13 +34,30 @@
#endif
@@ -12498,9 +12755,9 @@ diff -Nur linux-4.4.46.orig/include/linux/lglock.h linux-4.4.46/include/linux/lg
#else
/* When !CONFIG_SMP, map lglock to spinlock */
#define lglock spinlock
-diff -Nur linux-4.4.46.orig/include/linux/list_bl.h linux-4.4.46/include/linux/list_bl.h
---- linux-4.4.46.orig/include/linux/list_bl.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/list_bl.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/list_bl.h linux-4.4.56/include/linux/list_bl.h
+--- linux-4.4.56.orig/include/linux/list_bl.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/list_bl.h 2017-03-23 07:59:27.995524825 +0100
@@ -2,6 +2,7 @@
#define _LINUX_LIST_BL_H
@@ -12563,9 +12820,9 @@ diff -Nur linux-4.4.46.orig/include/linux/list_bl.h linux-4.4.46/include/linux/l
}
static inline bool hlist_bl_is_locked(struct hlist_bl_head *b)
-diff -Nur linux-4.4.46.orig/include/linux/locallock.h linux-4.4.46/include/linux/locallock.h
---- linux-4.4.46.orig/include/linux/locallock.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/locallock.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/locallock.h linux-4.4.56/include/linux/locallock.h
+--- linux-4.4.56.orig/include/linux/locallock.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/locallock.h 2017-03-23 07:59:27.995524825 +0100
@@ -0,0 +1,276 @@
+#ifndef _LINUX_LOCALLOCK_H
+#define _LINUX_LOCALLOCK_H
@@ -12843,9 +13100,9 @@ diff -Nur linux-4.4.46.orig/include/linux/locallock.h linux-4.4.46/include/linux
+#endif
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/mm_types.h linux-4.4.46/include/linux/mm_types.h
---- linux-4.4.46.orig/include/linux/mm_types.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/mm_types.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/mm_types.h linux-4.4.56/include/linux/mm_types.h
+--- linux-4.4.56.orig/include/linux/mm_types.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/mm_types.h 2017-03-23 07:59:27.995524825 +0100
@@ -11,6 +11,7 @@
#include <linux/completion.h>
#include <linux/cpumask.h>
@@ -12864,9 +13121,32 @@ diff -Nur linux-4.4.46.orig/include/linux/mm_types.h linux-4.4.46/include/linux/
#ifdef CONFIG_X86_INTEL_MPX
/* address of the bounds directory */
void __user *bd_addr;
-diff -Nur linux-4.4.46.orig/include/linux/mutex.h linux-4.4.46/include/linux/mutex.h
---- linux-4.4.46.orig/include/linux/mutex.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/mutex.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/module.h linux-4.4.56/include/linux/module.h
+--- linux-4.4.56.orig/include/linux/module.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/module.h 2017-03-23 07:59:27.995524825 +0100
+@@ -500,6 +500,7 @@
+ struct module *__module_text_address(unsigned long addr);
+ struct module *__module_address(unsigned long addr);
+ bool is_module_address(unsigned long addr);
++bool __is_module_percpu_address(unsigned long addr, unsigned long *can_addr);
+ bool is_module_percpu_address(unsigned long addr);
+ bool is_module_text_address(unsigned long addr);
+
+@@ -664,6 +665,11 @@
+ {
+ return false;
+ }
++
++static inline bool __is_module_percpu_address(unsigned long addr, unsigned long *can_addr)
++{
++ return false;
++}
+
+ static inline bool is_module_text_address(unsigned long addr)
+ {
+diff -Nur linux-4.4.56.orig/include/linux/mutex.h linux-4.4.56/include/linux/mutex.h
+--- linux-4.4.56.orig/include/linux/mutex.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/mutex.h 2017-03-23 07:59:27.995524825 +0100
@@ -19,6 +19,17 @@
#include <asm/processor.h>
#include <linux/osq_lock.h>
@@ -12908,10 +13188,10 @@ diff -Nur linux-4.4.46.orig/include/linux/mutex.h linux-4.4.46/include/linux/mut
extern int atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock);
#endif /* __LINUX_MUTEX_H */
-diff -Nur linux-4.4.46.orig/include/linux/mutex_rt.h linux-4.4.46/include/linux/mutex_rt.h
---- linux-4.4.46.orig/include/linux/mutex_rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/mutex_rt.h 2017-02-03 17:18:10.907618284 +0100
-@@ -0,0 +1,84 @@
+diff -Nur linux-4.4.56.orig/include/linux/mutex_rt.h linux-4.4.56/include/linux/mutex_rt.h
+--- linux-4.4.56.orig/include/linux/mutex_rt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/mutex_rt.h 2017-03-23 07:59:27.995524825 +0100
+@@ -0,0 +1,89 @@
+#ifndef __LINUX_MUTEX_RT_H
+#define __LINUX_MUTEX_RT_H
+
@@ -12957,7 +13237,12 @@ diff -Nur linux-4.4.46.orig/include/linux/mutex_rt.h linux-4.4.46/include/linux/
+#define mutex_lock_killable(l) _mutex_lock_killable(l)
+#define mutex_trylock(l) _mutex_trylock(l)
+#define mutex_unlock(l) _mutex_unlock(l)
++
++#ifdef CONFIG_DEBUG_MUTEXES
+#define mutex_destroy(l) rt_mutex_destroy(&(l)->lock)
++#else
++static inline void mutex_destroy(struct mutex *lock) {}
++#endif
+
+#ifdef CONFIG_DEBUG_LOCK_ALLOC
+# define mutex_lock_nested(l, s) _mutex_lock_nested(l, s)
@@ -12996,10 +13281,30 @@ diff -Nur linux-4.4.46.orig/include/linux/mutex_rt.h linux-4.4.46/include/linux/
+} while (0)
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/netdevice.h linux-4.4.46/include/linux/netdevice.h
---- linux-4.4.46.orig/include/linux/netdevice.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/netdevice.h 2017-02-03 17:18:10.907618284 +0100
-@@ -2286,11 +2286,20 @@
+diff -Nur linux-4.4.56.orig/include/linux/netdevice.h linux-4.4.56/include/linux/netdevice.h
+--- linux-4.4.56.orig/include/linux/netdevice.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/netdevice.h 2017-03-23 07:59:27.995524825 +0100
+@@ -390,7 +390,19 @@
+ typedef rx_handler_result_t rx_handler_func_t(struct sk_buff **pskb);
+
+ void __napi_schedule(struct napi_struct *n);
++
++/*
++ * When PREEMPT_RT_FULL is defined, all device interrupt handlers
++ * run as threads, and they can also be preempted (without PREEMPT_RT
++ * interrupt threads can not be preempted). Which means that calling
++ * __napi_schedule_irqoff() from an interrupt handler can be preempted
++ * and can corrupt the napi->poll_list.
++ */
++#ifdef CONFIG_PREEMPT_RT_FULL
++#define __napi_schedule_irqoff(n) __napi_schedule(n)
++#else
+ void __napi_schedule_irqoff(struct napi_struct *n);
++#endif
+
+ static inline bool napi_disable_pending(struct napi_struct *n)
+ {
+@@ -2288,11 +2300,20 @@
void synchronize_net(void);
int init_dummy_netdev(struct net_device *dev);
@@ -13020,7 +13325,7 @@ diff -Nur linux-4.4.46.orig/include/linux/netdevice.h linux-4.4.46/include/linux
struct net_device *dev_get_by_index(struct net *net, int ifindex);
struct net_device *__dev_get_by_index(struct net *net, int ifindex);
-@@ -2606,6 +2615,7 @@
+@@ -2610,6 +2631,7 @@
unsigned int dropped;
struct sk_buff_head input_pkt_queue;
struct napi_struct backlog;
@@ -13028,9 +13333,9 @@ diff -Nur linux-4.4.46.orig/include/linux/netdevice.h linux-4.4.46/include/linux
};
-diff -Nur linux-4.4.46.orig/include/linux/netfilter/x_tables.h linux-4.4.46/include/linux/netfilter/x_tables.h
---- linux-4.4.46.orig/include/linux/netfilter/x_tables.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/netfilter/x_tables.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/netfilter/x_tables.h linux-4.4.56/include/linux/netfilter/x_tables.h
+--- linux-4.4.56.orig/include/linux/netfilter/x_tables.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/netfilter/x_tables.h 2017-03-23 07:59:27.995524825 +0100
@@ -4,6 +4,7 @@
#include <linux/netdevice.h>
@@ -13066,9 +13371,9 @@ diff -Nur linux-4.4.46.orig/include/linux/netfilter/x_tables.h linux-4.4.46/incl
}
/*
-diff -Nur linux-4.4.46.orig/include/linux/notifier.h linux-4.4.46/include/linux/notifier.h
---- linux-4.4.46.orig/include/linux/notifier.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/notifier.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/notifier.h linux-4.4.56/include/linux/notifier.h
+--- linux-4.4.56.orig/include/linux/notifier.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/notifier.h 2017-03-23 07:59:27.995524825 +0100
@@ -6,7 +6,7 @@
*
* Alan Cox <Alan.Cox@linux.org>
@@ -13148,9 +13453,9 @@ diff -Nur linux-4.4.46.orig/include/linux/notifier.h linux-4.4.46/include/linux/
/* CPU notfiers are defined in include/linux/cpu.h. */
/* netdevice notifiers are defined in include/linux/netdevice.h */
-diff -Nur linux-4.4.46.orig/include/linux/percpu.h linux-4.4.46/include/linux/percpu.h
---- linux-4.4.46.orig/include/linux/percpu.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/percpu.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/percpu.h linux-4.4.56/include/linux/percpu.h
+--- linux-4.4.56.orig/include/linux/percpu.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/percpu.h 2017-03-23 07:59:27.995524825 +0100
@@ -24,6 +24,35 @@
PERCPU_MODULE_RESERVE)
#endif
@@ -13187,9 +13492,17 @@ diff -Nur linux-4.4.46.orig/include/linux/percpu.h linux-4.4.46/include/linux/pe
/* minimum unit size, also is the maximum supported allocation size */
#define PCPU_MIN_UNIT_SIZE PFN_ALIGN(32 << 10)
-diff -Nur linux-4.4.46.orig/include/linux/pid.h linux-4.4.46/include/linux/pid.h
---- linux-4.4.46.orig/include/linux/pid.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/pid.h 2017-02-03 17:18:10.907618284 +0100
+@@ -116,6 +145,7 @@
+ #endif
+
+ extern void __percpu *__alloc_reserved_percpu(size_t size, size_t align);
++extern bool __is_kernel_percpu_address(unsigned long addr, unsigned long *can_addr);
+ extern bool is_kernel_percpu_address(unsigned long addr);
+
+ #if !defined(CONFIG_SMP) || !defined(CONFIG_HAVE_SETUP_PER_CPU_AREA)
+diff -Nur linux-4.4.56.orig/include/linux/pid.h linux-4.4.56/include/linux/pid.h
+--- linux-4.4.56.orig/include/linux/pid.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/pid.h 2017-03-23 07:59:27.995524825 +0100
@@ -2,6 +2,7 @@
#define _LINUX_PID_H
@@ -13198,9 +13511,9 @@ diff -Nur linux-4.4.46.orig/include/linux/pid.h linux-4.4.46/include/linux/pid.h
enum pid_type
{
-diff -Nur linux-4.4.46.orig/include/linux/preempt.h linux-4.4.46/include/linux/preempt.h
---- linux-4.4.46.orig/include/linux/preempt.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/preempt.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/preempt.h linux-4.4.56/include/linux/preempt.h
+--- linux-4.4.56.orig/include/linux/preempt.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/preempt.h 2017-03-23 07:59:27.999524986 +0100
@@ -50,7 +50,11 @@
#define HARDIRQ_OFFSET (1UL << HARDIRQ_SHIFT)
#define NMI_OFFSET (1UL << NMI_SHIFT)
@@ -13354,9 +13667,9 @@ diff -Nur linux-4.4.46.orig/include/linux/preempt.h linux-4.4.46/include/linux/p
#ifdef CONFIG_PREEMPT_NOTIFIERS
struct preempt_notifier;
-diff -Nur linux-4.4.46.orig/include/linux/printk.h linux-4.4.46/include/linux/printk.h
---- linux-4.4.46.orig/include/linux/printk.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/printk.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/printk.h linux-4.4.56/include/linux/printk.h
+--- linux-4.4.56.orig/include/linux/printk.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/printk.h 2017-03-23 07:59:27.999524986 +0100
@@ -117,9 +117,11 @@
#ifdef CONFIG_EARLY_PRINTK
extern asmlinkage __printf(1, 2)
@@ -13369,35 +13682,33 @@ diff -Nur linux-4.4.46.orig/include/linux/printk.h linux-4.4.46/include/linux/pr
#endif
typedef __printf(1, 0) int (*printk_func_t)(const char *fmt, va_list args);
-diff -Nur linux-4.4.46.orig/include/linux/radix-tree.h linux-4.4.46/include/linux/radix-tree.h
---- linux-4.4.46.orig/include/linux/radix-tree.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/radix-tree.h 2017-02-03 17:18:10.907618284 +0100
-@@ -277,8 +277,13 @@
- unsigned int radix_tree_gang_lookup_slot(struct radix_tree_root *root,
- void ***results, unsigned long *indices,
+diff -Nur linux-4.4.56.orig/include/linux/radix-tree.h linux-4.4.56/include/linux/radix-tree.h
+--- linux-4.4.56.orig/include/linux/radix-tree.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/radix-tree.h 2017-03-23 07:59:27.999524986 +0100
+@@ -279,6 +279,8 @@
unsigned long first_index, unsigned int max_items);
-+#ifndef CONFIG_PREEMPT_RT_FULL
int radix_tree_preload(gfp_t gfp_mask);
int radix_tree_maybe_preload(gfp_t gfp_mask);
-+#else
-+static inline int radix_tree_preload(gfp_t gm) { return 0; }
-+static inline int radix_tree_maybe_preload(gfp_t gfp_mask) { return 0; }
-+#endif
++void radix_tree_preload_end(void);
++
void radix_tree_init(void);
void *radix_tree_tag_set(struct radix_tree_root *root,
unsigned long index, unsigned int tag);
-@@ -303,7 +308,7 @@
+@@ -301,11 +303,6 @@
+ int radix_tree_tagged(struct radix_tree_root *root, unsigned int tag);
+ unsigned long radix_tree_locate_item(struct radix_tree_root *root, void *item);
- static inline void radix_tree_preload_end(void)
- {
+-static inline void radix_tree_preload_end(void)
+-{
- preempt_enable();
-+ preempt_enable_nort();
- }
-
+-}
+-
/**
-diff -Nur linux-4.4.46.orig/include/linux/random.h linux-4.4.46/include/linux/random.h
---- linux-4.4.46.orig/include/linux/random.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/random.h 2017-02-03 17:18:10.907618284 +0100
+ * struct radix_tree_iter - radix tree iterator state
+ *
+diff -Nur linux-4.4.56.orig/include/linux/random.h linux-4.4.56/include/linux/random.h
+--- linux-4.4.56.orig/include/linux/random.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/random.h 2017-03-23 07:59:27.999524986 +0100
@@ -20,7 +20,7 @@
extern void add_device_randomness(const void *, unsigned int);
extern void add_input_randomness(unsigned int type, unsigned int code,
@@ -13407,9 +13718,9 @@ diff -Nur linux-4.4.46.orig/include/linux/random.h linux-4.4.46/include/linux/ra
extern void get_random_bytes(void *buf, int nbytes);
extern int add_random_ready_callback(struct random_ready_callback *rdy);
-diff -Nur linux-4.4.46.orig/include/linux/rbtree.h linux-4.4.46/include/linux/rbtree.h
---- linux-4.4.46.orig/include/linux/rbtree.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/rbtree.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rbtree.h linux-4.4.56/include/linux/rbtree.h
+--- linux-4.4.56.orig/include/linux/rbtree.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/rbtree.h 2017-03-23 07:59:27.999524986 +0100
@@ -31,7 +31,6 @@
#include <linux/kernel.h>
@@ -13435,9 +13746,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rbtree.h linux-4.4.46/include/linux/rb
#define rb_entry_safe(ptr, type, member) \
({ typeof(ptr) ____ptr = (ptr); \
-diff -Nur linux-4.4.46.orig/include/linux/rcupdate.h linux-4.4.46/include/linux/rcupdate.h
---- linux-4.4.46.orig/include/linux/rcupdate.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/rcupdate.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rcupdate.h linux-4.4.56/include/linux/rcupdate.h
+--- linux-4.4.56.orig/include/linux/rcupdate.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/rcupdate.h 2017-03-23 07:59:27.999524986 +0100
@@ -169,6 +169,9 @@
#endif /* #else #ifdef CONFIG_PREEMPT_RCU */
@@ -13522,9 +13833,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rcupdate.h linux-4.4.46/include/linux/
local_bh_enable();
}
-diff -Nur linux-4.4.46.orig/include/linux/rcutree.h linux-4.4.46/include/linux/rcutree.h
---- linux-4.4.46.orig/include/linux/rcutree.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/rcutree.h 2017-02-03 17:18:10.907618284 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rcutree.h linux-4.4.56/include/linux/rcutree.h
+--- linux-4.4.56.orig/include/linux/rcutree.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/rcutree.h 2017-03-23 07:59:27.999524986 +0100
@@ -44,7 +44,11 @@
rcu_note_context_switch();
}
@@ -13577,9 +13888,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rcutree.h linux-4.4.46/include/linux/r
void rcu_all_qs(void);
#endif /* __LINUX_RCUTREE_H */
-diff -Nur linux-4.4.46.orig/include/linux/rtmutex.h linux-4.4.46/include/linux/rtmutex.h
---- linux-4.4.46.orig/include/linux/rtmutex.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/rtmutex.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rtmutex.h linux-4.4.56/include/linux/rtmutex.h
+--- linux-4.4.56.orig/include/linux/rtmutex.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/rtmutex.h 2017-03-23 07:59:27.999524986 +0100
@@ -13,11 +13,15 @@
#define __LINUX_RT_MUTEX_H
@@ -13654,9 +13965,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rtmutex.h linux-4.4.46/include/linux/r
extern int rt_mutex_timed_lock(struct rt_mutex *lock,
struct hrtimer_sleeper *timeout);
-diff -Nur linux-4.4.46.orig/include/linux/rwlock_rt.h linux-4.4.46/include/linux/rwlock_rt.h
---- linux-4.4.46.orig/include/linux/rwlock_rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/rwlock_rt.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rwlock_rt.h linux-4.4.56/include/linux/rwlock_rt.h
+--- linux-4.4.56.orig/include/linux/rwlock_rt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/rwlock_rt.h 2017-03-23 07:59:27.999524986 +0100
@@ -0,0 +1,99 @@
+#ifndef __LINUX_RWLOCK_RT_H
+#define __LINUX_RWLOCK_RT_H
@@ -13757,9 +14068,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rwlock_rt.h linux-4.4.46/include/linux
+ } while (0)
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/rwlock_types.h linux-4.4.46/include/linux/rwlock_types.h
---- linux-4.4.46.orig/include/linux/rwlock_types.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/rwlock_types.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rwlock_types.h linux-4.4.56/include/linux/rwlock_types.h
+--- linux-4.4.56.orig/include/linux/rwlock_types.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/rwlock_types.h 2017-03-23 07:59:27.999524986 +0100
@@ -1,6 +1,10 @@
#ifndef __LINUX_RWLOCK_TYPES_H
#define __LINUX_RWLOCK_TYPES_H
@@ -13780,9 +14091,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rwlock_types.h linux-4.4.46/include/li
+ rwlock_t name __cacheline_aligned_in_smp = __RW_LOCK_UNLOCKED(name)
#endif /* __LINUX_RWLOCK_TYPES_H */
-diff -Nur linux-4.4.46.orig/include/linux/rwlock_types_rt.h linux-4.4.46/include/linux/rwlock_types_rt.h
---- linux-4.4.46.orig/include/linux/rwlock_types_rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/rwlock_types_rt.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rwlock_types_rt.h linux-4.4.56/include/linux/rwlock_types_rt.h
+--- linux-4.4.56.orig/include/linux/rwlock_types_rt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/rwlock_types_rt.h 2017-03-23 07:59:27.999524986 +0100
@@ -0,0 +1,33 @@
+#ifndef __LINUX_RWLOCK_TYPES_RT_H
+#define __LINUX_RWLOCK_TYPES_RT_H
@@ -13817,9 +14128,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rwlock_types_rt.h linux-4.4.46/include
+ rwlock_t name __cacheline_aligned_in_smp = __RW_LOCK_UNLOCKED(name)
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/rwsem.h linux-4.4.46/include/linux/rwsem.h
---- linux-4.4.46.orig/include/linux/rwsem.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/rwsem.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rwsem.h linux-4.4.56/include/linux/rwsem.h
+--- linux-4.4.56.orig/include/linux/rwsem.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/rwsem.h 2017-03-23 07:59:27.999524986 +0100
@@ -18,6 +18,10 @@
#include <linux/osq_lock.h>
#endif
@@ -13838,9 +14149,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rwsem.h linux-4.4.46/include/linux/rws
+#endif /* !PREEMPT_RT_FULL */
+
#endif /* _LINUX_RWSEM_H */
-diff -Nur linux-4.4.46.orig/include/linux/rwsem_rt.h linux-4.4.46/include/linux/rwsem_rt.h
---- linux-4.4.46.orig/include/linux/rwsem_rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/rwsem_rt.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/rwsem_rt.h linux-4.4.56/include/linux/rwsem_rt.h
+--- linux-4.4.56.orig/include/linux/rwsem_rt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/rwsem_rt.h 2017-03-23 07:59:27.999524986 +0100
@@ -0,0 +1,152 @@
+#ifndef _LINUX_RWSEM_RT_H
+#define _LINUX_RWSEM_RT_H
@@ -13994,9 +14305,9 @@ diff -Nur linux-4.4.46.orig/include/linux/rwsem_rt.h linux-4.4.46/include/linux/
+}
+#endif
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/sched.h linux-4.4.46/include/linux/sched.h
---- linux-4.4.46.orig/include/linux/sched.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/sched.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/sched.h linux-4.4.56/include/linux/sched.h
+--- linux-4.4.56.orig/include/linux/sched.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/sched.h 2017-03-23 07:59:27.999524986 +0100
@@ -26,6 +26,7 @@
#include <linux/nodemask.h>
#include <linux/mm_types.h>
@@ -14400,9 +14711,9 @@ diff -Nur linux-4.4.46.orig/include/linux/sched.h linux-4.4.46/include/linux/sch
extern long sched_setaffinity(pid_t pid, const struct cpumask *new_mask);
extern long sched_getaffinity(pid_t pid, struct cpumask *mask);
-diff -Nur linux-4.4.46.orig/include/linux/seqlock.h linux-4.4.46/include/linux/seqlock.h
---- linux-4.4.46.orig/include/linux/seqlock.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/seqlock.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/seqlock.h linux-4.4.56/include/linux/seqlock.h
+--- linux-4.4.56.orig/include/linux/seqlock.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/seqlock.h 2017-03-23 07:59:27.999524986 +0100
@@ -220,20 +220,30 @@
return __read_seqcount_retry(s, start);
}
@@ -14532,9 +14843,9 @@ diff -Nur linux-4.4.46.orig/include/linux/seqlock.h linux-4.4.46/include/linux/s
spin_unlock_irqrestore(&sl->lock, flags);
}
-diff -Nur linux-4.4.46.orig/include/linux/signal.h linux-4.4.46/include/linux/signal.h
---- linux-4.4.46.orig/include/linux/signal.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/signal.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/signal.h linux-4.4.56/include/linux/signal.h
+--- linux-4.4.56.orig/include/linux/signal.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/signal.h 2017-03-23 07:59:27.999524986 +0100
@@ -233,6 +233,7 @@
}
@@ -14543,9 +14854,9 @@ diff -Nur linux-4.4.46.orig/include/linux/signal.h linux-4.4.46/include/linux/si
/* Test if 'sig' is valid signal. Use this instead of testing _NSIG directly */
static inline int valid_signal(unsigned long sig)
-diff -Nur linux-4.4.46.orig/include/linux/skbuff.h linux-4.4.46/include/linux/skbuff.h
---- linux-4.4.46.orig/include/linux/skbuff.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/skbuff.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/skbuff.h linux-4.4.56/include/linux/skbuff.h
+--- linux-4.4.56.orig/include/linux/skbuff.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/skbuff.h 2017-03-23 07:59:27.999524986 +0100
@@ -203,6 +203,7 @@
__u32 qlen;
@@ -14567,9 +14878,9 @@ diff -Nur linux-4.4.46.orig/include/linux/skbuff.h linux-4.4.46/include/linux/sk
static inline void skb_queue_head_init_class(struct sk_buff_head *list,
struct lock_class_key *class)
{
-diff -Nur linux-4.4.46.orig/include/linux/smp.h linux-4.4.46/include/linux/smp.h
---- linux-4.4.46.orig/include/linux/smp.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/smp.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/smp.h linux-4.4.56/include/linux/smp.h
+--- linux-4.4.56.orig/include/linux/smp.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/smp.h 2017-03-23 07:59:27.999524986 +0100
@@ -185,6 +185,9 @@
#define get_cpu() ({ preempt_disable(); smp_processor_id(); })
#define put_cpu() preempt_enable()
@@ -14580,9 +14891,9 @@ diff -Nur linux-4.4.46.orig/include/linux/smp.h linux-4.4.46/include/linux/smp.h
/*
* Callback to arch code if there's nosmp or maxcpus=0 on the
* boot command line:
-diff -Nur linux-4.4.46.orig/include/linux/spinlock_api_smp.h linux-4.4.46/include/linux/spinlock_api_smp.h
---- linux-4.4.46.orig/include/linux/spinlock_api_smp.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/spinlock_api_smp.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/spinlock_api_smp.h linux-4.4.56/include/linux/spinlock_api_smp.h
+--- linux-4.4.56.orig/include/linux/spinlock_api_smp.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/spinlock_api_smp.h 2017-03-23 07:59:27.999524986 +0100
@@ -189,6 +189,8 @@
return 0;
}
@@ -14593,9 +14904,9 @@ diff -Nur linux-4.4.46.orig/include/linux/spinlock_api_smp.h linux-4.4.46/includ
+#endif
#endif /* __LINUX_SPINLOCK_API_SMP_H */
-diff -Nur linux-4.4.46.orig/include/linux/spinlock.h linux-4.4.46/include/linux/spinlock.h
---- linux-4.4.46.orig/include/linux/spinlock.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/spinlock.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/spinlock.h linux-4.4.56/include/linux/spinlock.h
+--- linux-4.4.56.orig/include/linux/spinlock.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/spinlock.h 2017-03-23 07:59:27.999524986 +0100
@@ -271,7 +271,11 @@
#define raw_spin_can_lock(lock) (!raw_spin_is_locked(lock))
@@ -14640,9 +14951,9 @@ diff -Nur linux-4.4.46.orig/include/linux/spinlock.h linux-4.4.46/include/linux/
+#endif /* !PREEMPT_RT_FULL */
+
#endif /* __LINUX_SPINLOCK_H */
-diff -Nur linux-4.4.46.orig/include/linux/spinlock_rt.h linux-4.4.46/include/linux/spinlock_rt.h
---- linux-4.4.46.orig/include/linux/spinlock_rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/spinlock_rt.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/spinlock_rt.h linux-4.4.56/include/linux/spinlock_rt.h
+--- linux-4.4.56.orig/include/linux/spinlock_rt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/spinlock_rt.h 2017-03-23 07:59:27.999524986 +0100
@@ -0,0 +1,165 @@
+#ifndef __LINUX_SPINLOCK_RT_H
+#define __LINUX_SPINLOCK_RT_H
@@ -14809,9 +15120,9 @@ diff -Nur linux-4.4.46.orig/include/linux/spinlock_rt.h linux-4.4.46/include/lin
+ atomic_dec_and_spin_lock(atomic, lock)
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/spinlock_types.h linux-4.4.46/include/linux/spinlock_types.h
---- linux-4.4.46.orig/include/linux/spinlock_types.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/spinlock_types.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/spinlock_types.h linux-4.4.56/include/linux/spinlock_types.h
+--- linux-4.4.56.orig/include/linux/spinlock_types.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/spinlock_types.h 2017-03-23 07:59:27.999524986 +0100
@@ -9,80 +9,15 @@
* Released under the General Public License (GPL).
*/
@@ -14900,9 +15211,9 @@ diff -Nur linux-4.4.46.orig/include/linux/spinlock_types.h linux-4.4.46/include/
-#include <linux/rwlock_types.h>
-
#endif /* __LINUX_SPINLOCK_TYPES_H */
-diff -Nur linux-4.4.46.orig/include/linux/spinlock_types_nort.h linux-4.4.46/include/linux/spinlock_types_nort.h
---- linux-4.4.46.orig/include/linux/spinlock_types_nort.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/spinlock_types_nort.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/spinlock_types_nort.h linux-4.4.56/include/linux/spinlock_types_nort.h
+--- linux-4.4.56.orig/include/linux/spinlock_types_nort.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/spinlock_types_nort.h 2017-03-23 07:59:27.999524986 +0100
@@ -0,0 +1,33 @@
+#ifndef __LINUX_SPINLOCK_TYPES_NORT_H
+#define __LINUX_SPINLOCK_TYPES_NORT_H
@@ -14937,9 +15248,9 @@ diff -Nur linux-4.4.46.orig/include/linux/spinlock_types_nort.h linux-4.4.46/inc
+#define DEFINE_SPINLOCK(x) spinlock_t x = __SPIN_LOCK_UNLOCKED(x)
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/spinlock_types_raw.h linux-4.4.46/include/linux/spinlock_types_raw.h
---- linux-4.4.46.orig/include/linux/spinlock_types_raw.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/spinlock_types_raw.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/spinlock_types_raw.h linux-4.4.56/include/linux/spinlock_types_raw.h
+--- linux-4.4.56.orig/include/linux/spinlock_types_raw.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/spinlock_types_raw.h 2017-03-23 07:59:28.003525139 +0100
@@ -0,0 +1,56 @@
+#ifndef __LINUX_SPINLOCK_TYPES_RAW_H
+#define __LINUX_SPINLOCK_TYPES_RAW_H
@@ -14997,9 +15308,9 @@ diff -Nur linux-4.4.46.orig/include/linux/spinlock_types_raw.h linux-4.4.46/incl
+#define DEFINE_RAW_SPINLOCK(x) raw_spinlock_t x = __RAW_SPIN_LOCK_UNLOCKED(x)
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/spinlock_types_rt.h linux-4.4.46/include/linux/spinlock_types_rt.h
---- linux-4.4.46.orig/include/linux/spinlock_types_rt.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/spinlock_types_rt.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/spinlock_types_rt.h linux-4.4.56/include/linux/spinlock_types_rt.h
+--- linux-4.4.56.orig/include/linux/spinlock_types_rt.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/spinlock_types_rt.h 2017-03-23 07:59:28.003525139 +0100
@@ -0,0 +1,51 @@
+#ifndef __LINUX_SPINLOCK_TYPES_RT_H
+#define __LINUX_SPINLOCK_TYPES_RT_H
@@ -15052,9 +15363,9 @@ diff -Nur linux-4.4.46.orig/include/linux/spinlock_types_rt.h linux-4.4.46/inclu
+ spinlock_t name __cacheline_aligned_in_smp = __SPIN_LOCK_UNLOCKED(name)
+
+#endif
-diff -Nur linux-4.4.46.orig/include/linux/srcu.h linux-4.4.46/include/linux/srcu.h
---- linux-4.4.46.orig/include/linux/srcu.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/srcu.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/srcu.h linux-4.4.56/include/linux/srcu.h
+--- linux-4.4.56.orig/include/linux/srcu.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/srcu.h 2017-03-23 07:59:28.003525139 +0100
@@ -84,10 +84,10 @@
void process_srcu(struct work_struct *work);
@@ -15077,9 +15388,9 @@ diff -Nur linux-4.4.46.orig/include/linux/srcu.h linux-4.4.46/include/linux/srcu
#define DEFINE_SRCU(name) __DEFINE_SRCU(name, /* not static */)
#define DEFINE_STATIC_SRCU(name) __DEFINE_SRCU(name, static)
-diff -Nur linux-4.4.46.orig/include/linux/suspend.h linux-4.4.46/include/linux/suspend.h
---- linux-4.4.46.orig/include/linux/suspend.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/suspend.h 2017-02-03 17:18:10.911618440 +0100
+diff -Nur linux-4.4.56.orig/include/linux/suspend.h linux-4.4.56/include/linux/suspend.h
+--- linux-4.4.56.orig/include/linux/suspend.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/suspend.h 2017-03-23 07:59:28.003525139 +0100
@@ -194,6 +194,12 @@
void (*end)(void);
};
@@ -15093,9 +15404,9 @@ diff -Nur linux-4.4.46.orig/include/linux/suspend.h linux-4.4.46/include/linux/s
#ifdef CONFIG_SUSPEND
/**
* suspend_set_ops - set platform dependent suspend operations
-diff -Nur linux-4.4.46.orig/include/linux/swait.h linux-4.4.46/include/linux/swait.h
---- linux-4.4.46.orig/include/linux/swait.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/swait.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/swait.h linux-4.4.56/include/linux/swait.h
+--- linux-4.4.56.orig/include/linux/swait.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/swait.h 2017-03-23 07:59:28.003525139 +0100
@@ -0,0 +1,173 @@
+#ifndef _LINUX_SWAIT_H
+#define _LINUX_SWAIT_H
@@ -15270,9 +15581,9 @@ diff -Nur linux-4.4.46.orig/include/linux/swait.h linux-4.4.46/include/linux/swa
+})
+
+#endif /* _LINUX_SWAIT_H */
-diff -Nur linux-4.4.46.orig/include/linux/swap.h linux-4.4.46/include/linux/swap.h
---- linux-4.4.46.orig/include/linux/swap.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/swap.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/swap.h linux-4.4.56/include/linux/swap.h
+--- linux-4.4.56.orig/include/linux/swap.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/swap.h 2017-03-23 07:59:28.003525139 +0100
@@ -11,6 +11,7 @@
#include <linux/fs.h>
#include <linux/atomic.h>
@@ -15299,9 +15610,9 @@ diff -Nur linux-4.4.46.orig/include/linux/swap.h linux-4.4.46/include/linux/swap
extern void lru_cache_add(struct page *);
extern void lru_cache_add_anon(struct page *page);
extern void lru_cache_add_file(struct page *page);
-diff -Nur linux-4.4.46.orig/include/linux/swork.h linux-4.4.46/include/linux/swork.h
---- linux-4.4.46.orig/include/linux/swork.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/linux/swork.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/swork.h linux-4.4.56/include/linux/swork.h
+--- linux-4.4.56.orig/include/linux/swork.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/linux/swork.h 2017-03-23 07:59:28.003525139 +0100
@@ -0,0 +1,24 @@
+#ifndef _LINUX_SWORK_H
+#define _LINUX_SWORK_H
@@ -15327,9 +15638,9 @@ diff -Nur linux-4.4.46.orig/include/linux/swork.h linux-4.4.46/include/linux/swo
+void swork_put(void);
+
+#endif /* _LINUX_SWORK_H */
-diff -Nur linux-4.4.46.orig/include/linux/thread_info.h linux-4.4.46/include/linux/thread_info.h
---- linux-4.4.46.orig/include/linux/thread_info.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/thread_info.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/thread_info.h linux-4.4.56/include/linux/thread_info.h
+--- linux-4.4.56.orig/include/linux/thread_info.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/thread_info.h 2017-03-23 07:59:28.003525139 +0100
@@ -102,7 +102,17 @@
#define test_thread_flag(flag) \
test_ti_thread_flag(current_thread_info(), flag)
@@ -15349,9 +15660,9 @@ diff -Nur linux-4.4.46.orig/include/linux/thread_info.h linux-4.4.46/include/lin
#if defined TIF_RESTORE_SIGMASK && !defined HAVE_SET_RESTORE_SIGMASK
/*
-diff -Nur linux-4.4.46.orig/include/linux/timer.h linux-4.4.46/include/linux/timer.h
---- linux-4.4.46.orig/include/linux/timer.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/timer.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/timer.h linux-4.4.56/include/linux/timer.h
+--- linux-4.4.56.orig/include/linux/timer.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/timer.h 2017-03-23 07:59:28.003525139 +0100
@@ -225,7 +225,7 @@
extern int try_to_del_timer_sync(struct timer_list *timer);
@@ -15361,9 +15672,9 @@ diff -Nur linux-4.4.46.orig/include/linux/timer.h linux-4.4.46/include/linux/tim
extern int del_timer_sync(struct timer_list *timer);
#else
# define del_timer_sync(t) del_timer(t)
-diff -Nur linux-4.4.46.orig/include/linux/trace_events.h linux-4.4.46/include/linux/trace_events.h
---- linux-4.4.46.orig/include/linux/trace_events.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/trace_events.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/trace_events.h linux-4.4.56/include/linux/trace_events.h
+--- linux-4.4.56.orig/include/linux/trace_events.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/trace_events.h 2017-03-23 07:59:28.003525139 +0100
@@ -66,6 +66,9 @@
unsigned char flags;
unsigned char preempt_count;
@@ -15374,9 +15685,9 @@ diff -Nur linux-4.4.46.orig/include/linux/trace_events.h linux-4.4.46/include/li
};
#define TRACE_EVENT_TYPE_MAX \
-diff -Nur linux-4.4.46.orig/include/linux/uaccess.h linux-4.4.46/include/linux/uaccess.h
---- linux-4.4.46.orig/include/linux/uaccess.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/uaccess.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/uaccess.h linux-4.4.56/include/linux/uaccess.h
+--- linux-4.4.56.orig/include/linux/uaccess.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/uaccess.h 2017-03-23 07:59:28.003525139 +0100
@@ -24,6 +24,7 @@
*/
static inline void pagefault_disable(void)
@@ -15393,9 +15704,9 @@ diff -Nur linux-4.4.46.orig/include/linux/uaccess.h linux-4.4.46/include/linux/u
}
/*
-diff -Nur linux-4.4.46.orig/include/linux/uprobes.h linux-4.4.46/include/linux/uprobes.h
---- linux-4.4.46.orig/include/linux/uprobes.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/uprobes.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/uprobes.h linux-4.4.56/include/linux/uprobes.h
+--- linux-4.4.56.orig/include/linux/uprobes.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/uprobes.h 2017-03-23 07:59:28.003525139 +0100
@@ -27,6 +27,7 @@
#include <linux/errno.h>
#include <linux/rbtree.h>
@@ -15404,9 +15715,9 @@ diff -Nur linux-4.4.46.orig/include/linux/uprobes.h linux-4.4.46/include/linux/u
struct vm_area_struct;
struct mm_struct;
-diff -Nur linux-4.4.46.orig/include/linux/vmstat.h linux-4.4.46/include/linux/vmstat.h
---- linux-4.4.46.orig/include/linux/vmstat.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/vmstat.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/vmstat.h linux-4.4.56/include/linux/vmstat.h
+--- linux-4.4.56.orig/include/linux/vmstat.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/vmstat.h 2017-03-23 07:59:28.003525139 +0100
@@ -33,7 +33,9 @@
*/
static inline void __count_vm_event(enum vm_event_item item)
@@ -15427,9 +15738,9 @@ diff -Nur linux-4.4.46.orig/include/linux/vmstat.h linux-4.4.46/include/linux/vm
}
static inline void count_vm_events(enum vm_event_item item, long delta)
-diff -Nur linux-4.4.46.orig/include/linux/wait.h linux-4.4.46/include/linux/wait.h
---- linux-4.4.46.orig/include/linux/wait.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/linux/wait.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/linux/wait.h linux-4.4.56/include/linux/wait.h
+--- linux-4.4.56.orig/include/linux/wait.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/linux/wait.h 2017-03-23 07:59:28.003525139 +0100
@@ -8,6 +8,7 @@
#include <linux/spinlock.h>
#include <asm/current.h>
@@ -15438,9 +15749,9 @@ diff -Nur linux-4.4.46.orig/include/linux/wait.h linux-4.4.46/include/linux/wait
typedef struct __wait_queue wait_queue_t;
typedef int (*wait_queue_func_t)(wait_queue_t *wait, unsigned mode, int flags, void *key);
-diff -Nur linux-4.4.46.orig/include/net/dst.h linux-4.4.46/include/net/dst.h
---- linux-4.4.46.orig/include/net/dst.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/net/dst.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/net/dst.h linux-4.4.56/include/net/dst.h
+--- linux-4.4.56.orig/include/net/dst.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/net/dst.h 2017-03-23 07:59:28.003525139 +0100
@@ -437,7 +437,7 @@
static inline int dst_neigh_output(struct dst_entry *dst, struct neighbour *n,
struct sk_buff *skb)
@@ -15450,9 +15761,9 @@ diff -Nur linux-4.4.46.orig/include/net/dst.h linux-4.4.46/include/net/dst.h
if (dst->pending_confirm) {
unsigned long now = jiffies;
-diff -Nur linux-4.4.46.orig/include/net/neighbour.h linux-4.4.46/include/net/neighbour.h
---- linux-4.4.46.orig/include/net/neighbour.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/net/neighbour.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/net/neighbour.h linux-4.4.56/include/net/neighbour.h
+--- linux-4.4.56.orig/include/net/neighbour.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/net/neighbour.h 2017-03-23 07:59:28.003525139 +0100
@@ -446,7 +446,7 @@
}
#endif
@@ -15471,9 +15782,9 @@ diff -Nur linux-4.4.46.orig/include/net/neighbour.h linux-4.4.46/include/net/nei
const struct net_device *dev)
{
unsigned int seq;
-diff -Nur linux-4.4.46.orig/include/net/netns/ipv4.h linux-4.4.46/include/net/netns/ipv4.h
---- linux-4.4.46.orig/include/net/netns/ipv4.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/net/netns/ipv4.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/net/netns/ipv4.h linux-4.4.56/include/net/netns/ipv4.h
+--- linux-4.4.56.orig/include/net/netns/ipv4.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/net/netns/ipv4.h 2017-03-23 07:59:28.003525139 +0100
@@ -70,6 +70,7 @@
int sysctl_icmp_echo_ignore_all;
@@ -15482,9 +15793,9 @@ diff -Nur linux-4.4.46.orig/include/net/netns/ipv4.h linux-4.4.46/include/net/ne
int sysctl_icmp_ignore_bogus_error_responses;
int sysctl_icmp_ratelimit;
int sysctl_icmp_ratemask;
-diff -Nur linux-4.4.46.orig/include/trace/events/hist.h linux-4.4.46/include/trace/events/hist.h
---- linux-4.4.46.orig/include/trace/events/hist.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/trace/events/hist.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/trace/events/hist.h linux-4.4.56/include/trace/events/hist.h
+--- linux-4.4.56.orig/include/trace/events/hist.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/trace/events/hist.h 2017-03-23 07:59:28.003525139 +0100
@@ -0,0 +1,73 @@
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM hist
@@ -15559,9 +15870,9 @@ diff -Nur linux-4.4.46.orig/include/trace/events/hist.h linux-4.4.46/include/tra
+
+/* This part must be outside protection */
+#include <trace/define_trace.h>
-diff -Nur linux-4.4.46.orig/include/trace/events/latency_hist.h linux-4.4.46/include/trace/events/latency_hist.h
---- linux-4.4.46.orig/include/trace/events/latency_hist.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/include/trace/events/latency_hist.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/trace/events/latency_hist.h linux-4.4.56/include/trace/events/latency_hist.h
+--- linux-4.4.56.orig/include/trace/events/latency_hist.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/include/trace/events/latency_hist.h 2017-03-23 07:59:28.003525139 +0100
@@ -0,0 +1,29 @@
+#ifndef _LATENCY_HIST_H
+#define _LATENCY_HIST_H
@@ -15592,9 +15903,9 @@ diff -Nur linux-4.4.46.orig/include/trace/events/latency_hist.h linux-4.4.46/inc
+}
+
+#endif /* _LATENCY_HIST_H */
-diff -Nur linux-4.4.46.orig/include/trace/events/writeback.h linux-4.4.46/include/trace/events/writeback.h
---- linux-4.4.46.orig/include/trace/events/writeback.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/include/trace/events/writeback.h 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/include/trace/events/writeback.h linux-4.4.56/include/trace/events/writeback.h
+--- linux-4.4.56.orig/include/trace/events/writeback.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/include/trace/events/writeback.h 2017-03-23 07:59:28.003525139 +0100
@@ -134,58 +134,28 @@
#ifdef CREATE_TRACE_POINTS
#ifdef CONFIG_CGROUP_WRITEBACK
@@ -15934,9 +16245,9 @@ diff -Nur linux-4.4.46.orig/include/trace/events/writeback.h linux-4.4.46/includ
)
);
-diff -Nur linux-4.4.46.orig/init/Kconfig linux-4.4.46/init/Kconfig
---- linux-4.4.46.orig/init/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/init/Kconfig 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/init/Kconfig linux-4.4.56/init/Kconfig
+--- linux-4.4.56.orig/init/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/init/Kconfig 2017-03-23 07:59:28.003525139 +0100
@@ -498,7 +498,7 @@
config RCU_EXPERT
@@ -15997,9 +16308,9 @@ diff -Nur linux-4.4.46.orig/init/Kconfig linux-4.4.46/init/Kconfig
bool "SLUB per cpu partial cache"
help
Per cpu partial caches accellerate objects allocation and freeing
-diff -Nur linux-4.4.46.orig/init/main.c linux-4.4.46/init/main.c
---- linux-4.4.46.orig/init/main.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/init/main.c 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/init/main.c linux-4.4.56/init/main.c
+--- linux-4.4.56.orig/init/main.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/init/main.c 2017-03-23 07:59:28.003525139 +0100
@@ -530,6 +530,7 @@
setup_command_line(command_line);
setup_nr_cpu_ids();
@@ -16008,18 +16319,18 @@ diff -Nur linux-4.4.46.orig/init/main.c linux-4.4.46/init/main.c
smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */
build_all_zonelists(NULL, NULL);
-diff -Nur linux-4.4.46.orig/init/Makefile linux-4.4.46/init/Makefile
---- linux-4.4.46.orig/init/Makefile 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/init/Makefile 2017-02-03 17:18:10.915618595 +0100
+diff -Nur linux-4.4.56.orig/init/Makefile linux-4.4.56/init/Makefile
+--- linux-4.4.56.orig/init/Makefile 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/init/Makefile 2017-03-23 07:59:28.003525139 +0100
@@ -33,4 +33,4 @@
include/generated/compile.h: FORCE
@$($(quiet)chk_compile.h)
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
- "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(KBUILD_CFLAGS)"
+ "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CONFIG_PREEMPT_RT_FULL)" "$(CC) $(KBUILD_CFLAGS)"
-diff -Nur linux-4.4.46.orig/ipc/msg.c linux-4.4.46/ipc/msg.c
---- linux-4.4.46.orig/ipc/msg.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/ipc/msg.c 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/ipc/msg.c linux-4.4.56/ipc/msg.c
+--- linux-4.4.56.orig/ipc/msg.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/ipc/msg.c 2017-03-23 07:59:28.003525139 +0100
@@ -183,20 +183,14 @@
}
}
@@ -16219,9 +16530,9 @@ diff -Nur linux-4.4.46.orig/ipc/msg.c linux-4.4.46/ipc/msg.c
msg = (struct msg_msg *)msr_d.r_msg;
if (msg != ERR_PTR(-EAGAIN))
goto out_unlock0;
-diff -Nur linux-4.4.46.orig/ipc/sem.c linux-4.4.46/ipc/sem.c
---- linux-4.4.46.orig/ipc/sem.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/ipc/sem.c 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/ipc/sem.c linux-4.4.56/ipc/sem.c
+--- linux-4.4.56.orig/ipc/sem.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/ipc/sem.c 2017-03-23 07:59:28.007525288 +0100
@@ -708,6 +708,13 @@
static void wake_up_sem_queue_prepare(struct list_head *pt,
struct sem_queue *q, int error)
@@ -16260,9 +16571,9 @@ diff -Nur linux-4.4.46.orig/ipc/sem.c linux-4.4.46/ipc/sem.c
}
static void unlink_queue(struct sem_array *sma, struct sem_queue *q)
-diff -Nur linux-4.4.46.orig/kernel/cgroup.c linux-4.4.46/kernel/cgroup.c
---- linux-4.4.46.orig/kernel/cgroup.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/cgroup.c 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/kernel/cgroup.c linux-4.4.56/kernel/cgroup.c
+--- linux-4.4.56.orig/kernel/cgroup.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/cgroup.c 2017-03-23 07:59:28.007525288 +0100
@@ -4740,10 +4740,10 @@
queue_work(cgroup_destroy_wq, &css->destroy_work);
}
@@ -16295,9 +16606,9 @@ diff -Nur linux-4.4.46.orig/kernel/cgroup.c linux-4.4.46/kernel/cgroup.c
/*
* Used to destroy pidlists and separate to serve as flush domain.
-diff -Nur linux-4.4.46.orig/kernel/cpu.c linux-4.4.46/kernel/cpu.c
---- linux-4.4.46.orig/kernel/cpu.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/cpu.c 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/kernel/cpu.c linux-4.4.56/kernel/cpu.c
+--- linux-4.4.56.orig/kernel/cpu.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/cpu.c 2017-03-23 07:59:28.007525288 +0100
@@ -75,8 +75,8 @@
#endif
} cpu_hotplug = {
@@ -16678,9 +16989,246 @@ diff -Nur linux-4.4.46.orig/kernel/cpu.c linux-4.4.46/kernel/cpu.c
return err;
}
-diff -Nur linux-4.4.46.orig/kernel/debug/kdb/kdb_io.c linux-4.4.46/kernel/debug/kdb/kdb_io.c
---- linux-4.4.46.orig/kernel/debug/kdb/kdb_io.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/debug/kdb/kdb_io.c 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/kernel/cpuset.c linux-4.4.56/kernel/cpuset.c
+--- linux-4.4.56.orig/kernel/cpuset.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/cpuset.c 2017-03-23 07:59:28.007525288 +0100
+@@ -283,7 +283,7 @@
+ */
+
+ static DEFINE_MUTEX(cpuset_mutex);
+-static DEFINE_SPINLOCK(callback_lock);
++static DEFINE_RAW_SPINLOCK(callback_lock);
+
+ static struct workqueue_struct *cpuset_migrate_mm_wq;
+
+@@ -906,9 +906,9 @@
+ continue;
+ rcu_read_unlock();
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cpumask_copy(cp->effective_cpus, new_cpus);
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ WARN_ON(!cgroup_subsys_on_dfl(cpuset_cgrp_subsys) &&
+ !cpumask_equal(cp->cpus_allowed, cp->effective_cpus));
+@@ -973,9 +973,9 @@
+ if (retval < 0)
+ return retval;
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cpumask_copy(cs->cpus_allowed, trialcs->cpus_allowed);
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ /* use trialcs->cpus_allowed as a temp variable */
+ update_cpumasks_hier(cs, trialcs->cpus_allowed);
+@@ -1184,9 +1184,9 @@
+ continue;
+ rcu_read_unlock();
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cp->effective_mems = *new_mems;
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ WARN_ON(!cgroup_subsys_on_dfl(cpuset_cgrp_subsys) &&
+ !nodes_equal(cp->mems_allowed, cp->effective_mems));
+@@ -1254,9 +1254,9 @@
+ if (retval < 0)
+ goto done;
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cs->mems_allowed = trialcs->mems_allowed;
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ /* use trialcs->mems_allowed as a temp variable */
+ update_nodemasks_hier(cs, &trialcs->mems_allowed);
+@@ -1347,9 +1347,9 @@
+ spread_flag_changed = ((is_spread_slab(cs) != is_spread_slab(trialcs))
+ || (is_spread_page(cs) != is_spread_page(trialcs)));
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cs->flags = trialcs->flags;
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ if (!cpumask_empty(trialcs->cpus_allowed) && balance_flag_changed)
+ rebuild_sched_domains_locked();
+@@ -1761,7 +1761,7 @@
+ cpuset_filetype_t type = seq_cft(sf)->private;
+ int ret = 0;
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+
+ switch (type) {
+ case FILE_CPULIST:
+@@ -1780,7 +1780,7 @@
+ ret = -EINVAL;
+ }
+
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+ return ret;
+ }
+
+@@ -1994,12 +1994,12 @@
+
+ cpuset_inc();
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ if (cgroup_subsys_on_dfl(cpuset_cgrp_subsys)) {
+ cpumask_copy(cs->effective_cpus, parent->effective_cpus);
+ cs->effective_mems = parent->effective_mems;
+ }
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ if (!test_bit(CGRP_CPUSET_CLONE_CHILDREN, &css->cgroup->flags))
+ goto out_unlock;
+@@ -2026,12 +2026,12 @@
+ }
+ rcu_read_unlock();
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cs->mems_allowed = parent->mems_allowed;
+ cs->effective_mems = parent->mems_allowed;
+ cpumask_copy(cs->cpus_allowed, parent->cpus_allowed);
+ cpumask_copy(cs->effective_cpus, parent->cpus_allowed);
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+ out_unlock:
+ mutex_unlock(&cpuset_mutex);
+ return 0;
+@@ -2070,7 +2070,7 @@
+ static void cpuset_bind(struct cgroup_subsys_state *root_css)
+ {
+ mutex_lock(&cpuset_mutex);
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+
+ if (cgroup_subsys_on_dfl(cpuset_cgrp_subsys)) {
+ cpumask_copy(top_cpuset.cpus_allowed, cpu_possible_mask);
+@@ -2081,7 +2081,7 @@
+ top_cpuset.mems_allowed = top_cpuset.effective_mems;
+ }
+
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+ mutex_unlock(&cpuset_mutex);
+ }
+
+@@ -2182,12 +2182,12 @@
+ {
+ bool is_empty;
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cpumask_copy(cs->cpus_allowed, new_cpus);
+ cpumask_copy(cs->effective_cpus, new_cpus);
+ cs->mems_allowed = *new_mems;
+ cs->effective_mems = *new_mems;
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ /*
+ * Don't call update_tasks_cpumask() if the cpuset becomes empty,
+@@ -2224,10 +2224,10 @@
+ if (nodes_empty(*new_mems))
+ *new_mems = parent_cs(cs)->effective_mems;
+
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ cpumask_copy(cs->effective_cpus, new_cpus);
+ cs->effective_mems = *new_mems;
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+
+ if (cpus_updated)
+ update_tasks_cpumask(cs);
+@@ -2313,21 +2313,21 @@
+
+ /* synchronize cpus_allowed to cpu_active_mask */
+ if (cpus_updated) {
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ if (!on_dfl)
+ cpumask_copy(top_cpuset.cpus_allowed, &new_cpus);
+ cpumask_copy(top_cpuset.effective_cpus, &new_cpus);
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+ /* we don't mess with cpumasks of tasks in top_cpuset */
+ }
+
+ /* synchronize mems_allowed to N_MEMORY */
+ if (mems_updated) {
+- spin_lock_irq(&callback_lock);
++ raw_spin_lock_irq(&callback_lock);
+ if (!on_dfl)
+ top_cpuset.mems_allowed = new_mems;
+ top_cpuset.effective_mems = new_mems;
+- spin_unlock_irq(&callback_lock);
++ raw_spin_unlock_irq(&callback_lock);
+ update_tasks_nodemask(&top_cpuset);
+ }
+
+@@ -2425,11 +2425,11 @@
+ {
+ unsigned long flags;
+
+- spin_lock_irqsave(&callback_lock, flags);
++ raw_spin_lock_irqsave(&callback_lock, flags);
+ rcu_read_lock();
+ guarantee_online_cpus(task_cs(tsk), pmask);
+ rcu_read_unlock();
+- spin_unlock_irqrestore(&callback_lock, flags);
++ raw_spin_unlock_irqrestore(&callback_lock, flags);
+ }
+
+ void cpuset_cpus_allowed_fallback(struct task_struct *tsk)
+@@ -2477,11 +2477,11 @@
+ nodemask_t mask;
+ unsigned long flags;
+
+- spin_lock_irqsave(&callback_lock, flags);
++ raw_spin_lock_irqsave(&callback_lock, flags);
+ rcu_read_lock();
+ guarantee_online_mems(task_cs(tsk), &mask);
+ rcu_read_unlock();
+- spin_unlock_irqrestore(&callback_lock, flags);
++ raw_spin_unlock_irqrestore(&callback_lock, flags);
+
+ return mask;
+ }
+@@ -2573,14 +2573,14 @@
+ return 1;
+
+ /* Not hardwall and node outside mems_allowed: scan up cpusets */
+- spin_lock_irqsave(&callback_lock, flags);
++ raw_spin_lock_irqsave(&callback_lock, flags);
+
+ rcu_read_lock();
+ cs = nearest_hardwall_ancestor(task_cs(current));
+ allowed = node_isset(node, cs->mems_allowed);
+ rcu_read_unlock();
+
+- spin_unlock_irqrestore(&callback_lock, flags);
++ raw_spin_unlock_irqrestore(&callback_lock, flags);
+ return allowed;
+ }
+
+diff -Nur linux-4.4.56.orig/kernel/debug/kdb/kdb_io.c linux-4.4.56/kernel/debug/kdb/kdb_io.c
+--- linux-4.4.56.orig/kernel/debug/kdb/kdb_io.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/debug/kdb/kdb_io.c 2017-03-23 07:59:28.007525288 +0100
@@ -554,7 +554,6 @@
int linecount;
int colcount;
@@ -16718,9 +17266,9 @@ diff -Nur linux-4.4.46.orig/kernel/debug/kdb/kdb_io.c linux-4.4.46/kernel/debug/
return r;
}
-diff -Nur linux-4.4.46.orig/kernel/events/core.c linux-4.4.46/kernel/events/core.c
---- linux-4.4.46.orig/kernel/events/core.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/events/core.c 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/kernel/events/core.c linux-4.4.56/kernel/events/core.c
+--- linux-4.4.56.orig/kernel/events/core.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/events/core.c 2017-03-23 07:59:28.007525288 +0100
@@ -802,6 +802,7 @@
raw_spin_lock_init(&cpuctx->hrtimer_lock);
hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED);
@@ -16737,9 +17285,9 @@ diff -Nur linux-4.4.46.orig/kernel/events/core.c linux-4.4.46/kernel/events/core
/*
* Since hrtimers have a fixed rate, we can do a static freq->period
-diff -Nur linux-4.4.46.orig/kernel/exit.c linux-4.4.46/kernel/exit.c
---- linux-4.4.46.orig/kernel/exit.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/exit.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/exit.c linux-4.4.56/kernel/exit.c
+--- linux-4.4.56.orig/kernel/exit.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/exit.c 2017-03-23 07:59:28.007525288 +0100
@@ -144,7 +144,7 @@
* Do this under ->siglock, we can race with another thread
* doing sigqueue_free() if we have SIGQUEUE_PREALLOC signals.
@@ -16749,9 +17297,9 @@ diff -Nur linux-4.4.46.orig/kernel/exit.c linux-4.4.46/kernel/exit.c
tsk->sighand = NULL;
spin_unlock(&sighand->siglock);
-diff -Nur linux-4.4.46.orig/kernel/fork.c linux-4.4.46/kernel/fork.c
---- linux-4.4.46.orig/kernel/fork.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/fork.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/fork.c linux-4.4.56/kernel/fork.c
+--- linux-4.4.56.orig/kernel/fork.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/fork.c 2017-03-23 07:59:28.007525288 +0100
@@ -108,7 +108,7 @@
DEFINE_PER_CPU(unsigned long, process_counts) = 0;
@@ -16840,9 +17388,9 @@ diff -Nur linux-4.4.46.orig/kernel/fork.c linux-4.4.46/kernel/fork.c
#endif
#if defined(SPLIT_RSS_COUNTING)
-diff -Nur linux-4.4.46.orig/kernel/futex.c linux-4.4.46/kernel/futex.c
---- linux-4.4.46.orig/kernel/futex.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/futex.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/futex.c linux-4.4.56/kernel/futex.c
+--- linux-4.4.56.orig/kernel/futex.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/futex.c 2017-03-23 08:05:10.580738823 +0100
@@ -815,7 +815,9 @@
* task still owns the PI-state:
*/
@@ -16945,16 +17493,16 @@ diff -Nur linux-4.4.46.orig/kernel/futex.c linux-4.4.46/kernel/futex.c
ret = fixup_pi_state_owner(uaddr, q, owner);
goto out;
}
-@@ -2691,7 +2706,7 @@
+@@ -2690,7 +2705,7 @@
+ {
struct hrtimer_sleeper timeout, *to = NULL;
struct rt_mutex_waiter rt_waiter;
- struct rt_mutex *pi_mutex = NULL;
- struct futex_hash_bucket *hb;
+ struct futex_hash_bucket *hb, *hb2;
union futex_key key2 = FUTEX_KEY_INIT;
struct futex_q q = futex_q_init;
int res, ret;
-@@ -2716,10 +2731,7 @@
+@@ -2715,10 +2730,7 @@
* The waiter is allocated on our stack, manipulated by the requeue
* code while we sleep on uaddr.
*/
@@ -16966,7 +17514,7 @@ diff -Nur linux-4.4.46.orig/kernel/futex.c linux-4.4.46/kernel/futex.c
ret = get_futex_key(uaddr2, flags & FLAGS_SHARED, &key2, VERIFY_WRITE);
if (unlikely(ret != 0))
-@@ -2750,20 +2762,55 @@
+@@ -2749,20 +2761,55 @@
/* Queue the futex_q, drop the hb lock, wait for wakeup. */
futex_wait_queue_me(hb, &q, to);
@@ -17033,7 +17581,7 @@ diff -Nur linux-4.4.46.orig/kernel/futex.c linux-4.4.46/kernel/futex.c
/* Check if the requeue code acquired the second futex for us. */
if (!q.rt_waiter) {
-@@ -2772,14 +2819,15 @@
+@@ -2771,7 +2818,8 @@
* did a lock-steal - fix up the PI-state in that case.
*/
if (q.pi_state && (q.pi_state->owner != current)) {
@@ -17041,8 +17589,9 @@ diff -Nur linux-4.4.46.orig/kernel/futex.c linux-4.4.46/kernel/futex.c
+ spin_lock(&hb2->lock);
+ BUG_ON(&hb2->lock != q.lock_ptr);
ret = fixup_pi_state_owner(uaddr2, &q, current);
- /*
- * Drop the reference to the pi state which
+ if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current)
+ rt_mutex_unlock(&q.pi_state->pi_mutex);
+@@ -2780,7 +2828,7 @@
* the requeue_pi() code acquired for us.
*/
free_pi_state(q.pi_state);
@@ -17050,8 +17599,8 @@ diff -Nur linux-4.4.46.orig/kernel/futex.c linux-4.4.46/kernel/futex.c
+ spin_unlock(&hb2->lock);
}
} else {
- /*
-@@ -2792,7 +2840,8 @@
+ struct rt_mutex *pi_mutex;
+@@ -2795,7 +2843,8 @@
ret = rt_mutex_finish_proxy_lock(pi_mutex, to, &rt_waiter);
debug_rt_mutex_free_waiter(&rt_waiter);
@@ -17061,9 +17610,9 @@ diff -Nur linux-4.4.46.orig/kernel/futex.c linux-4.4.46/kernel/futex.c
/*
* Fixup the pi_state owner and possibly acquire the lock if we
* haven't already.
-diff -Nur linux-4.4.46.orig/kernel/irq/handle.c linux-4.4.46/kernel/irq/handle.c
---- linux-4.4.46.orig/kernel/irq/handle.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/irq/handle.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/irq/handle.c linux-4.4.56/kernel/irq/handle.c
+--- linux-4.4.56.orig/kernel/irq/handle.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/irq/handle.c 2017-03-23 07:59:28.011525439 +0100
@@ -134,6 +134,8 @@
irqreturn_t handle_irq_event_percpu(struct irq_desc *desc)
@@ -17086,9 +17635,9 @@ diff -Nur linux-4.4.46.orig/kernel/irq/handle.c linux-4.4.46/kernel/irq/handle.c
if (!noirqdebug)
note_interrupt(desc, retval);
-diff -Nur linux-4.4.46.orig/kernel/irq/irqdesc.c linux-4.4.46/kernel/irq/irqdesc.c
---- linux-4.4.46.orig/kernel/irq/irqdesc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/irq/irqdesc.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/irq/irqdesc.c linux-4.4.56/kernel/irq/irqdesc.c
+--- linux-4.4.56.orig/kernel/irq/irqdesc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/irq/irqdesc.c 2017-03-23 07:59:28.011525439 +0100
@@ -24,10 +24,27 @@
static struct lock_class_key irq_desc_lock_class;
@@ -17119,9 +17668,9 @@ diff -Nur linux-4.4.46.orig/kernel/irq/irqdesc.c linux-4.4.46/kernel/irq/irqdesc
}
#else
static void __init init_irq_default_affinity(void)
-diff -Nur linux-4.4.46.orig/kernel/irq/manage.c linux-4.4.46/kernel/irq/manage.c
---- linux-4.4.46.orig/kernel/irq/manage.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/irq/manage.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/irq/manage.c linux-4.4.56/kernel/irq/manage.c
+--- linux-4.4.56.orig/kernel/irq/manage.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/irq/manage.c 2017-03-23 07:59:28.011525439 +0100
@@ -22,6 +22,7 @@
#include "internals.h"
@@ -17303,9 +17852,9 @@ diff -Nur linux-4.4.46.orig/kernel/irq/manage.c linux-4.4.46/kernel/irq/manage.c
* interrupt controller has per-cpu registers.
*/
int irq_set_irqchip_state(unsigned int irq, enum irqchip_irq_state which,
-diff -Nur linux-4.4.46.orig/kernel/irq/settings.h linux-4.4.46/kernel/irq/settings.h
---- linux-4.4.46.orig/kernel/irq/settings.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/irq/settings.h 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/irq/settings.h linux-4.4.56/kernel/irq/settings.h
+--- linux-4.4.56.orig/kernel/irq/settings.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/irq/settings.h 2017-03-23 07:59:28.011525439 +0100
@@ -16,6 +16,7 @@
_IRQ_PER_CPU_DEVID = IRQ_PER_CPU_DEVID,
_IRQ_IS_POLLED = IRQ_IS_POLLED,
@@ -17339,9 +17888,9 @@ diff -Nur linux-4.4.46.orig/kernel/irq/settings.h linux-4.4.46/kernel/irq/settin
static inline bool irq_settings_is_per_cpu(struct irq_desc *desc)
{
return desc->status_use_accessors & _IRQ_PER_CPU;
-diff -Nur linux-4.4.46.orig/kernel/irq/spurious.c linux-4.4.46/kernel/irq/spurious.c
---- linux-4.4.46.orig/kernel/irq/spurious.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/irq/spurious.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/irq/spurious.c linux-4.4.56/kernel/irq/spurious.c
+--- linux-4.4.56.orig/kernel/irq/spurious.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/irq/spurious.c 2017-03-23 07:59:28.011525439 +0100
@@ -444,6 +444,10 @@
static int __init irqfixup_setup(char *str)
@@ -17364,9 +17913,9 @@ diff -Nur linux-4.4.46.orig/kernel/irq/spurious.c linux-4.4.46/kernel/irq/spurio
irqfixup = 2;
printk(KERN_WARNING "Misrouted IRQ fixup and polling support "
"enabled\n");
-diff -Nur linux-4.4.46.orig/kernel/irq_work.c linux-4.4.46/kernel/irq_work.c
---- linux-4.4.46.orig/kernel/irq_work.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/irq_work.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/irq_work.c linux-4.4.56/kernel/irq_work.c
+--- linux-4.4.56.orig/kernel/irq_work.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/irq_work.c 2017-03-23 07:59:28.011525439 +0100
@@ -17,6 +17,7 @@
#include <linux/cpu.h>
#include <linux/notifier.h>
@@ -17488,9 +18037,9 @@ diff -Nur linux-4.4.46.orig/kernel/irq_work.c linux-4.4.46/kernel/irq_work.c
/*
* Synchronize against the irq_work @entry, ensures the entry is not
-diff -Nur linux-4.4.46.orig/kernel/Kconfig.locks linux-4.4.46/kernel/Kconfig.locks
---- linux-4.4.46.orig/kernel/Kconfig.locks 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/Kconfig.locks 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/kernel/Kconfig.locks linux-4.4.56/kernel/Kconfig.locks
+--- linux-4.4.56.orig/kernel/Kconfig.locks 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/Kconfig.locks 2017-03-23 07:59:28.007525288 +0100
@@ -225,11 +225,11 @@
config MUTEX_SPIN_ON_OWNER
@@ -17505,9 +18054,9 @@ diff -Nur linux-4.4.46.orig/kernel/Kconfig.locks linux-4.4.46/kernel/Kconfig.loc
config LOCK_SPIN_ON_OWNER
def_bool y
-diff -Nur linux-4.4.46.orig/kernel/Kconfig.preempt linux-4.4.46/kernel/Kconfig.preempt
---- linux-4.4.46.orig/kernel/Kconfig.preempt 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/Kconfig.preempt 2017-02-03 17:18:10.919618749 +0100
+diff -Nur linux-4.4.56.orig/kernel/Kconfig.preempt linux-4.4.56/kernel/Kconfig.preempt
+--- linux-4.4.56.orig/kernel/Kconfig.preempt 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/Kconfig.preempt 2017-03-23 07:59:28.007525288 +0100
@@ -1,3 +1,16 @@
+config PREEMPT
+ bool
@@ -17560,9 +18109,9 @@ diff -Nur linux-4.4.46.orig/kernel/Kconfig.preempt linux-4.4.46/kernel/Kconfig.p
endchoice
config PREEMPT_COUNT
-diff -Nur linux-4.4.46.orig/kernel/ksysfs.c linux-4.4.46/kernel/ksysfs.c
---- linux-4.4.46.orig/kernel/ksysfs.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/ksysfs.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/ksysfs.c linux-4.4.56/kernel/ksysfs.c
+--- linux-4.4.56.orig/kernel/ksysfs.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/ksysfs.c 2017-03-23 07:59:28.011525439 +0100
@@ -136,6 +136,15 @@
#endif /* CONFIG_KEXEC_CORE */
@@ -17589,9 +18138,9 @@ diff -Nur linux-4.4.46.orig/kernel/ksysfs.c linux-4.4.46/kernel/ksysfs.c
NULL
};
-diff -Nur linux-4.4.46.orig/kernel/locking/lglock.c linux-4.4.46/kernel/locking/lglock.c
---- linux-4.4.46.orig/kernel/locking/lglock.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/lglock.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/locking/lglock.c linux-4.4.56/kernel/locking/lglock.c
+--- linux-4.4.56.orig/kernel/locking/lglock.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/lglock.c 2017-03-23 07:59:28.011525439 +0100
@@ -4,6 +4,15 @@
#include <linux/cpu.h>
#include <linux/string.h>
@@ -17760,10 +18309,87 @@ diff -Nur linux-4.4.46.orig/kernel/locking/lglock.c linux-4.4.46/kernel/locking/
+ }
+}
+#endif
-diff -Nur linux-4.4.46.orig/kernel/locking/lockdep.c linux-4.4.46/kernel/locking/lockdep.c
---- linux-4.4.46.orig/kernel/locking/lockdep.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/lockdep.c 2017-02-03 17:18:10.923618903 +0100
-@@ -3525,6 +3525,7 @@
+diff -Nur linux-4.4.56.orig/kernel/locking/lockdep.c linux-4.4.56/kernel/locking/lockdep.c
+--- linux-4.4.56.orig/kernel/locking/lockdep.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/lockdep.c 2017-03-23 07:59:28.011525439 +0100
+@@ -668,6 +668,7 @@
+ struct lockdep_subclass_key *key;
+ struct list_head *hash_head;
+ struct lock_class *class;
++ bool is_static = false;
+
+ #ifdef CONFIG_DEBUG_LOCKDEP
+ /*
+@@ -695,10 +696,23 @@
+
+ /*
+ * Static locks do not have their class-keys yet - for them the key
+- * is the lock object itself:
+- */
+- if (unlikely(!lock->key))
+- lock->key = (void *)lock;
++ * is the lock object itself. If the lock is in the per cpu area,
++ * the canonical address of the lock (per cpu offset removed) is
++ * used.
++ */
++ if (unlikely(!lock->key)) {
++ unsigned long can_addr, addr = (unsigned long)lock;
++
++ if (__is_kernel_percpu_address(addr, &can_addr))
++ lock->key = (void *)can_addr;
++ else if (__is_module_percpu_address(addr, &can_addr))
++ lock->key = (void *)can_addr;
++ else if (static_obj(lock))
++ lock->key = (void *)lock;
++ else
++ return ERR_PTR(-EINVAL);
++ is_static = true;
++ }
+
+ /*
+ * NOTE: the class-key must be unique. For dynamic locks, a static
+@@ -730,7 +744,7 @@
+ }
+ }
+
+- return NULL;
++ return is_static || static_obj(lock->key) ? NULL : ERR_PTR(-EINVAL);
+ }
+
+ /*
+@@ -748,19 +762,18 @@
+ DEBUG_LOCKS_WARN_ON(!irqs_disabled());
+
+ class = look_up_lock_class(lock, subclass);
+- if (likely(class))
++ if (likely(!IS_ERR_OR_NULL(class)))
+ goto out_set_class_cache;
+
+ /*
+ * Debug-check: all keys must be persistent!
+- */
+- if (!static_obj(lock->key)) {
++ */
++ if (IS_ERR(class)) {
+ debug_locks_off();
+ printk("INFO: trying to register non-static key.\n");
+ printk("the code is fine but needs lockdep annotation.\n");
+ printk("turning off the locking correctness validator.\n");
+ dump_stack();
+-
+ return NULL;
+ }
+
+@@ -3278,7 +3291,7 @@
+ * Clearly if the lock hasn't been acquired _ever_, we're not
+ * holding it either, so report failure.
+ */
+- if (!class)
++ if (IS_ERR_OR_NULL(class))
+ return 0;
+
+ /*
+@@ -3525,6 +3538,7 @@
}
}
@@ -17771,7 +18397,7 @@ diff -Nur linux-4.4.46.orig/kernel/locking/lockdep.c linux-4.4.46/kernel/locking
/*
* We dont accurately track softirq state in e.g.
* hardirq contexts (such as on 4KSTACKS), so only
-@@ -3539,6 +3540,7 @@
+@@ -3539,6 +3553,7 @@
DEBUG_LOCKS_WARN_ON(!current->softirqs_enabled);
}
}
@@ -17779,9 +18405,18 @@ diff -Nur linux-4.4.46.orig/kernel/locking/lockdep.c linux-4.4.46/kernel/locking
if (!debug_locks)
print_irqtrace_events(current);
-diff -Nur linux-4.4.46.orig/kernel/locking/locktorture.c linux-4.4.46/kernel/locking/locktorture.c
---- linux-4.4.46.orig/kernel/locking/locktorture.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/locktorture.c 2017-02-03 17:18:10.923618903 +0100
+@@ -3977,7 +3992,7 @@
+ * If the class exists we look it up and zap it:
+ */
+ class = look_up_lock_class(lock, j);
+- if (class)
++ if (!IS_ERR_OR_NULL(class))
+ zap_class(class);
+ }
+ /*
+diff -Nur linux-4.4.56.orig/kernel/locking/locktorture.c linux-4.4.56/kernel/locking/locktorture.c
+--- linux-4.4.56.orig/kernel/locking/locktorture.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/locktorture.c 2017-03-23 07:59:28.011525439 +0100
@@ -26,7 +26,6 @@
#include <linux/kthread.h>
#include <linux/sched/rt.h>
@@ -17790,9 +18425,9 @@ diff -Nur linux-4.4.46.orig/kernel/locking/locktorture.c linux-4.4.46/kernel/loc
#include <linux/mutex.h>
#include <linux/rwsem.h>
#include <linux/smp.h>
-diff -Nur linux-4.4.46.orig/kernel/locking/Makefile linux-4.4.46/kernel/locking/Makefile
---- linux-4.4.46.orig/kernel/locking/Makefile 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/Makefile 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/locking/Makefile linux-4.4.56/kernel/locking/Makefile
+--- linux-4.4.56.orig/kernel/locking/Makefile 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/Makefile 2017-03-23 07:59:28.011525439 +0100
@@ -1,5 +1,5 @@
-obj-y += mutex.o semaphore.o rwsem.o percpu-rwsem.o
@@ -17823,9 +18458,9 @@ diff -Nur linux-4.4.46.orig/kernel/locking/Makefile linux-4.4.46/kernel/locking/
+obj-$(CONFIG_PREEMPT_RT_FULL) += rt.o
obj-$(CONFIG_QUEUED_RWLOCKS) += qrwlock.o
obj-$(CONFIG_LOCK_TORTURE_TEST) += locktorture.o
-diff -Nur linux-4.4.46.orig/kernel/locking/rt.c linux-4.4.46/kernel/locking/rt.c
---- linux-4.4.46.orig/kernel/locking/rt.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/kernel/locking/rt.c 2017-02-03 17:18:10.923618903 +0100
+diff -Nur linux-4.4.56.orig/kernel/locking/rt.c linux-4.4.56/kernel/locking/rt.c
+--- linux-4.4.56.orig/kernel/locking/rt.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/kernel/locking/rt.c 2017-03-23 07:59:28.011525439 +0100
@@ -0,0 +1,474 @@
+/*
+ * kernel/rt.c
@@ -18301,9 +18936,9 @@ diff -Nur linux-4.4.46.orig/kernel/locking/rt.c linux-4.4.46/kernel/locking/rt.c
+ return 1;
+}
+EXPORT_SYMBOL(atomic_dec_and_mutex_lock);
-diff -Nur linux-4.4.46.orig/kernel/locking/rtmutex.c linux-4.4.46/kernel/locking/rtmutex.c
---- linux-4.4.46.orig/kernel/locking/rtmutex.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/rtmutex.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/locking/rtmutex.c linux-4.4.56/kernel/locking/rtmutex.c
+--- linux-4.4.56.orig/kernel/locking/rtmutex.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/rtmutex.c 2017-03-23 07:59:28.015525588 +0100
@@ -7,6 +7,11 @@
* Copyright (C) 2005-2006 Timesys Corp., Thomas Gleixner <tglx@timesys.com>
* Copyright (C) 2005 Kihon Technologies Inc., Steven Rostedt
@@ -19869,9 +20504,9 @@ diff -Nur linux-4.4.46.orig/kernel/locking/rtmutex.c linux-4.4.46/kernel/locking
+}
+EXPORT_SYMBOL(ww_mutex_unlock);
+#endif
-diff -Nur linux-4.4.46.orig/kernel/locking/rtmutex_common.h linux-4.4.46/kernel/locking/rtmutex_common.h
---- linux-4.4.46.orig/kernel/locking/rtmutex_common.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/rtmutex_common.h 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/locking/rtmutex_common.h linux-4.4.56/kernel/locking/rtmutex_common.h
+--- linux-4.4.56.orig/kernel/locking/rtmutex_common.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/rtmutex_common.h 2017-03-23 07:59:28.015525588 +0100
@@ -27,6 +27,7 @@
struct rb_node pi_tree_entry;
struct task_struct *task;
@@ -19915,9 +20550,9 @@ diff -Nur linux-4.4.46.orig/kernel/locking/rtmutex_common.h linux-4.4.46/kernel/
+}
+
#endif
-diff -Nur linux-4.4.46.orig/kernel/locking/spinlock.c linux-4.4.46/kernel/locking/spinlock.c
---- linux-4.4.46.orig/kernel/locking/spinlock.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/spinlock.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/locking/spinlock.c linux-4.4.56/kernel/locking/spinlock.c
+--- linux-4.4.56.orig/kernel/locking/spinlock.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/spinlock.c 2017-03-23 07:59:28.015525588 +0100
@@ -124,8 +124,11 @@
* __[spin|read|write]_lock_bh()
*/
@@ -19948,9 +20583,9 @@ diff -Nur linux-4.4.46.orig/kernel/locking/spinlock.c linux-4.4.46/kernel/lockin
#ifdef CONFIG_DEBUG_LOCK_ALLOC
void __lockfunc _raw_spin_lock_nested(raw_spinlock_t *lock, int subclass)
-diff -Nur linux-4.4.46.orig/kernel/locking/spinlock_debug.c linux-4.4.46/kernel/locking/spinlock_debug.c
---- linux-4.4.46.orig/kernel/locking/spinlock_debug.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/locking/spinlock_debug.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/locking/spinlock_debug.c linux-4.4.56/kernel/locking/spinlock_debug.c
+--- linux-4.4.56.orig/kernel/locking/spinlock_debug.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/locking/spinlock_debug.c 2017-03-23 07:59:28.015525588 +0100
@@ -31,6 +31,7 @@
EXPORT_SYMBOL(__raw_spin_lock_init);
@@ -19981,9 +20616,77 @@ diff -Nur linux-4.4.46.orig/kernel/locking/spinlock_debug.c linux-4.4.46/kernel/
}
+
+#endif
-diff -Nur linux-4.4.46.orig/kernel/panic.c linux-4.4.46/kernel/panic.c
---- linux-4.4.46.orig/kernel/panic.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/panic.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/module.c linux-4.4.56/kernel/module.c
+--- linux-4.4.56.orig/kernel/module.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/module.c 2017-03-23 07:59:28.015525588 +0100
+@@ -682,16 +682,7 @@
+ memcpy(per_cpu_ptr(mod->percpu, cpu), from, size);
+ }
+
+-/**
+- * is_module_percpu_address - test whether address is from module static percpu
+- * @addr: address to test
+- *
+- * Test whether @addr belongs to module static percpu area.
+- *
+- * RETURNS:
+- * %true if @addr is from module static percpu area
+- */
+-bool is_module_percpu_address(unsigned long addr)
++bool __is_module_percpu_address(unsigned long addr, unsigned long *can_addr)
+ {
+ struct module *mod;
+ unsigned int cpu;
+@@ -705,9 +696,11 @@
+ continue;
+ for_each_possible_cpu(cpu) {
+ void *start = per_cpu_ptr(mod->percpu, cpu);
++ void *va = (void *)addr;
+
+- if ((void *)addr >= start &&
+- (void *)addr < start + mod->percpu_size) {
++ if (va >= start && va < start + mod->percpu_size) {
++ if (can_addr)
++ *can_addr = (unsigned long) (va - start);
+ preempt_enable();
+ return true;
+ }
+@@ -718,6 +711,20 @@
+ return false;
+ }
+
++/**
++ * is_module_percpu_address - test whether address is from module static percpu
++ * @addr: address to test
++ *
++ * Test whether @addr belongs to module static percpu area.
++ *
++ * RETURNS:
++ * %true if @addr is from module static percpu area
++ */
++bool is_module_percpu_address(unsigned long addr)
++{
++ return __is_module_percpu_address(addr, NULL);
++}
++
+ #else /* ... !CONFIG_SMP */
+
+ static inline void __percpu *mod_percpu(struct module *mod)
+@@ -748,6 +755,11 @@
+ {
+ return false;
+ }
++
++bool __is_module_percpu_address(unsigned long addr, unsigned long *can_addr)
++{
++ return false;
++}
+
+ #endif /* CONFIG_SMP */
+
+diff -Nur linux-4.4.56.orig/kernel/panic.c linux-4.4.56/kernel/panic.c
+--- linux-4.4.56.orig/kernel/panic.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/panic.c 2017-03-23 07:59:28.015525588 +0100
@@ -61,6 +61,37 @@
cpu_relax();
}
@@ -20072,9 +20775,9 @@ diff -Nur linux-4.4.46.orig/kernel/panic.c linux-4.4.46/kernel/panic.c
oops_id++;
return 0;
-diff -Nur linux-4.4.46.orig/kernel/power/hibernate.c linux-4.4.46/kernel/power/hibernate.c
---- linux-4.4.46.orig/kernel/power/hibernate.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/power/hibernate.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/power/hibernate.c linux-4.4.56/kernel/power/hibernate.c
+--- linux-4.4.56.orig/kernel/power/hibernate.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/power/hibernate.c 2017-03-23 07:59:28.015525588 +0100
@@ -285,6 +285,8 @@
local_irq_disable();
@@ -20152,9 +20855,9 @@ diff -Nur linux-4.4.46.orig/kernel/power/hibernate.c linux-4.4.46/kernel/power/h
return error;
}
-diff -Nur linux-4.4.46.orig/kernel/power/suspend.c linux-4.4.46/kernel/power/suspend.c
---- linux-4.4.46.orig/kernel/power/suspend.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/power/suspend.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/power/suspend.c linux-4.4.56/kernel/power/suspend.c
+--- linux-4.4.56.orig/kernel/power/suspend.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/power/suspend.c 2017-03-23 07:59:28.015525588 +0100
@@ -359,6 +359,8 @@
arch_suspend_disable_irqs();
BUG_ON(!irqs_disabled());
@@ -20199,9 +20902,9 @@ diff -Nur linux-4.4.46.orig/kernel/power/suspend.c linux-4.4.46/kernel/power/sus
return error;
}
EXPORT_SYMBOL(pm_suspend);
-diff -Nur linux-4.4.46.orig/kernel/printk/printk.c linux-4.4.46/kernel/printk/printk.c
---- linux-4.4.46.orig/kernel/printk/printk.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/printk/printk.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/printk/printk.c linux-4.4.56/kernel/printk/printk.c
+--- linux-4.4.56.orig/kernel/printk/printk.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/printk/printk.c 2017-03-23 07:59:28.015525588 +0100
@@ -241,6 +241,65 @@
*/
static DEFINE_RAW_SPINLOCK(logbuf_lock);
@@ -20475,9 +21178,9 @@ diff -Nur linux-4.4.46.orig/kernel/printk/printk.c linux-4.4.46/kernel/printk/pr
/*
* console_unblank can no longer be called in interrupt context unless
* oops_in_progress is set to 1..
-diff -Nur linux-4.4.46.orig/kernel/ptrace.c linux-4.4.46/kernel/ptrace.c
---- linux-4.4.46.orig/kernel/ptrace.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/ptrace.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/ptrace.c linux-4.4.56/kernel/ptrace.c
+--- linux-4.4.56.orig/kernel/ptrace.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/ptrace.c 2017-03-23 07:59:28.015525588 +0100
@@ -136,7 +136,14 @@
spin_lock_irq(&task->sighand->siglock);
@@ -20494,9 +21197,9 @@ diff -Nur linux-4.4.46.orig/kernel/ptrace.c linux-4.4.46/kernel/ptrace.c
ret = true;
}
spin_unlock_irq(&task->sighand->siglock);
-diff -Nur linux-4.4.46.orig/kernel/rcu/rcutorture.c linux-4.4.46/kernel/rcu/rcutorture.c
---- linux-4.4.46.orig/kernel/rcu/rcutorture.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/rcu/rcutorture.c 2017-02-03 17:18:10.927619058 +0100
+diff -Nur linux-4.4.56.orig/kernel/rcu/rcutorture.c linux-4.4.56/kernel/rcu/rcutorture.c
+--- linux-4.4.56.orig/kernel/rcu/rcutorture.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/rcu/rcutorture.c 2017-03-23 07:59:28.015525588 +0100
@@ -390,6 +390,7 @@
.name = "rcu"
};
@@ -20518,9 +21221,9 @@ diff -Nur linux-4.4.46.orig/kernel/rcu/rcutorture.c linux-4.4.46/kernel/rcu/rcut
/*
* Don't even think about trying any of these in real life!!!
* The names includes "busted", and they really means it!
-diff -Nur linux-4.4.46.orig/kernel/rcu/tree.c linux-4.4.46/kernel/rcu/tree.c
---- linux-4.4.46.orig/kernel/rcu/tree.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/rcu/tree.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/rcu/tree.c linux-4.4.56/kernel/rcu/tree.c
+--- linux-4.4.56.orig/kernel/rcu/tree.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/rcu/tree.c 2017-03-23 07:59:28.015525588 +0100
@@ -56,6 +56,11 @@
#include <linux/random.h>
#include <linux/trace_events.h>
@@ -20914,9 +21617,9 @@ diff -Nur linux-4.4.46.orig/kernel/rcu/tree.c linux-4.4.46/kernel/rcu/tree.c
/*
* We don't need protection against CPU-hotplug here because
-diff -Nur linux-4.4.46.orig/kernel/rcu/tree.h linux-4.4.46/kernel/rcu/tree.h
---- linux-4.4.46.orig/kernel/rcu/tree.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/rcu/tree.h 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/rcu/tree.h linux-4.4.56/kernel/rcu/tree.h
+--- linux-4.4.56.orig/kernel/rcu/tree.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/rcu/tree.h 2017-03-23 07:59:28.015525588 +0100
@@ -27,6 +27,7 @@
#include <linux/threads.h>
#include <linux/cpumask.h>
@@ -21004,9 +21707,9 @@ diff -Nur linux-4.4.46.orig/kernel/rcu/tree.h linux-4.4.46/kernel/rcu/tree.h
static void rcu_init_one_nocb(struct rcu_node *rnp);
static bool __call_rcu_nocb(struct rcu_data *rdp, struct rcu_head *rhp,
bool lazy, unsigned long flags);
-diff -Nur linux-4.4.46.orig/kernel/rcu/tree_plugin.h linux-4.4.46/kernel/rcu/tree_plugin.h
---- linux-4.4.46.orig/kernel/rcu/tree_plugin.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/rcu/tree_plugin.h 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/rcu/tree_plugin.h linux-4.4.56/kernel/rcu/tree_plugin.h
+--- linux-4.4.56.orig/kernel/rcu/tree_plugin.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/rcu/tree_plugin.h 2017-03-23 07:59:28.019525739 +0100
@@ -24,25 +24,10 @@
* Paul E. McKenney <paulmck@linux.vnet.ibm.com>
*/
@@ -21382,9 +22085,9 @@ diff -Nur linux-4.4.46.orig/kernel/rcu/tree_plugin.h linux-4.4.46/kernel/rcu/tre
static void rcu_init_one_nocb(struct rcu_node *rnp)
{
}
-diff -Nur linux-4.4.46.orig/kernel/rcu/update.c linux-4.4.46/kernel/rcu/update.c
---- linux-4.4.46.orig/kernel/rcu/update.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/rcu/update.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/rcu/update.c linux-4.4.56/kernel/rcu/update.c
+--- linux-4.4.56.orig/kernel/rcu/update.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/rcu/update.c 2017-03-23 07:59:28.019525739 +0100
@@ -276,6 +276,7 @@
}
EXPORT_SYMBOL_GPL(rcu_read_lock_held);
@@ -21401,9 +22104,9 @@ diff -Nur linux-4.4.46.orig/kernel/rcu/update.c linux-4.4.46/kernel/rcu/update.c
#endif /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
-diff -Nur linux-4.4.46.orig/kernel/relay.c linux-4.4.46/kernel/relay.c
---- linux-4.4.46.orig/kernel/relay.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/relay.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/relay.c linux-4.4.56/kernel/relay.c
+--- linux-4.4.56.orig/kernel/relay.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/relay.c 2017-03-23 07:59:28.019525739 +0100
@@ -336,6 +336,10 @@
{
struct rchan_buf *buf = (struct rchan_buf *)data;
@@ -21439,9 +22142,9 @@ diff -Nur linux-4.4.46.orig/kernel/relay.c linux-4.4.46/kernel/relay.c
}
old = buf->data;
-diff -Nur linux-4.4.46.orig/kernel/sched/completion.c linux-4.4.46/kernel/sched/completion.c
---- linux-4.4.46.orig/kernel/sched/completion.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/completion.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/completion.c linux-4.4.56/kernel/sched/completion.c
+--- linux-4.4.56.orig/kernel/sched/completion.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/completion.c 2017-03-23 07:59:28.019525739 +0100
@@ -30,10 +30,10 @@
{
unsigned long flags;
@@ -21532,9 +22235,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/completion.c linux-4.4.46/kernel/sched/
return true;
}
EXPORT_SYMBOL(completion_done);
-diff -Nur linux-4.4.46.orig/kernel/sched/core.c linux-4.4.46/kernel/sched/core.c
---- linux-4.4.46.orig/kernel/sched/core.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/core.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/core.c linux-4.4.56/kernel/sched/core.c
+--- linux-4.4.56.orig/kernel/sched/core.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/core.c 2017-03-23 07:59:28.019525739 +0100
@@ -260,7 +260,11 @@
* Number of tasks to iterate in a single balance run.
* Limited because this is done with IRQs disabled.
@@ -22249,9 +22952,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/core.c linux-4.4.46/kernel/sched/core.c
return (nested == preempt_offset);
}
-diff -Nur linux-4.4.46.orig/kernel/sched/cpudeadline.c linux-4.4.46/kernel/sched/cpudeadline.c
---- linux-4.4.46.orig/kernel/sched/cpudeadline.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/cpudeadline.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/cpudeadline.c linux-4.4.56/kernel/sched/cpudeadline.c
+--- linux-4.4.56.orig/kernel/sched/cpudeadline.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/cpudeadline.c 2017-03-23 07:59:28.019525739 +0100
@@ -103,10 +103,10 @@
const struct sched_dl_entity *dl_se = &p->dl;
@@ -22265,9 +22968,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/cpudeadline.c linux-4.4.46/kernel/sched
dl_time_before(dl_se->deadline, cp->elements[0].dl)) {
best_cpu = cpudl_maximum(cp);
if (later_mask)
-diff -Nur linux-4.4.46.orig/kernel/sched/cpupri.c linux-4.4.46/kernel/sched/cpupri.c
---- linux-4.4.46.orig/kernel/sched/cpupri.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/cpupri.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/cpupri.c linux-4.4.56/kernel/sched/cpupri.c
+--- linux-4.4.56.orig/kernel/sched/cpupri.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/cpupri.c 2017-03-23 07:59:28.019525739 +0100
@@ -103,11 +103,11 @@
if (skip)
continue;
@@ -22282,9 +22985,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/cpupri.c linux-4.4.46/kernel/sched/cpup
/*
* We have to ensure that we have at least one bit
-diff -Nur linux-4.4.46.orig/kernel/sched/cputime.c linux-4.4.46/kernel/sched/cputime.c
---- linux-4.4.46.orig/kernel/sched/cputime.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/cputime.c 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/cputime.c linux-4.4.56/kernel/sched/cputime.c
+--- linux-4.4.56.orig/kernel/sched/cputime.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/cputime.c 2017-03-23 07:59:28.019525739 +0100
@@ -685,7 +685,7 @@
{
unsigned long long delta = vtime_delta(tsk);
@@ -22441,9 +23144,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/cputime.c linux-4.4.46/kernel/sched/cpu
}
-diff -Nur linux-4.4.46.orig/kernel/sched/deadline.c linux-4.4.46/kernel/sched/deadline.c
---- linux-4.4.46.orig/kernel/sched/deadline.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/deadline.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/deadline.c linux-4.4.56/kernel/sched/deadline.c
+--- linux-4.4.56.orig/kernel/sched/deadline.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/deadline.c 2017-03-23 07:59:28.019525739 +0100
@@ -134,7 +134,7 @@
{
struct task_struct *p = dl_task_of(dl_se);
@@ -22566,18 +23269,26 @@ diff -Nur linux-4.4.46.orig/kernel/sched/deadline.c linux-4.4.46/kernel/sched/de
!dl_entity_preempt(&p->dl, &rq->curr->dl))) {
push_dl_tasks(rq);
}
-@@ -1769,7 +1770,7 @@
+@@ -1769,14 +1770,13 @@
{
if (task_on_rq_queued(p) && rq->curr != p) {
#ifdef CONFIG_SMP
- if (p->nr_cpus_allowed > 1 && rq->dl.overloaded)
+ if (tsk_nr_cpus_allowed(p) > 1 && rq->dl.overloaded)
queue_push_tasks(rq);
- #else
+-#else
++#endif
if (dl_task(rq->curr))
-diff -Nur linux-4.4.46.orig/kernel/sched/debug.c linux-4.4.46/kernel/sched/debug.c
---- linux-4.4.46.orig/kernel/sched/debug.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/debug.c 2017-02-03 17:18:10.935619367 +0100
+ check_preempt_curr_dl(rq, p, 0);
+ else
+ resched_curr(rq);
+-#endif
+ }
+ }
+
+diff -Nur linux-4.4.56.orig/kernel/sched/debug.c linux-4.4.56/kernel/sched/debug.c
+--- linux-4.4.56.orig/kernel/sched/debug.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/debug.c 2017-03-23 07:59:28.019525739 +0100
@@ -251,6 +251,9 @@
P(rt_throttled);
PN(rt_time);
@@ -22599,9 +23310,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/debug.c linux-4.4.46/kernel/sched/debug
#undef PN
#undef __PN
#undef P
-diff -Nur linux-4.4.46.orig/kernel/sched/fair.c linux-4.4.46/kernel/sched/fair.c
---- linux-4.4.46.orig/kernel/sched/fair.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/fair.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/fair.c linux-4.4.56/kernel/sched/fair.c
+--- linux-4.4.56.orig/kernel/sched/fair.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/fair.c 2017-03-23 07:59:28.023525894 +0100
@@ -3166,7 +3166,7 @@
ideal_runtime = sched_slice(cfs_rq, curr);
delta_exec = curr->sum_exec_runtime - curr->prev_sum_exec_runtime;
@@ -22674,9 +23385,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/fair.c linux-4.4.46/kernel/sched/fair.c
} else
check_preempt_curr(rq, p, 0);
}
-diff -Nur linux-4.4.46.orig/kernel/sched/features.h linux-4.4.46/kernel/sched/features.h
---- linux-4.4.46.orig/kernel/sched/features.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/features.h 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/features.h linux-4.4.56/kernel/sched/features.h
+--- linux-4.4.56.orig/kernel/sched/features.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/features.h 2017-03-23 07:59:28.023525894 +0100
@@ -45,11 +45,19 @@
*/
SCHED_FEAT(NONTASK_CAPACITY, true)
@@ -22697,9 +23408,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/features.h linux-4.4.46/kernel/sched/fe
#ifdef HAVE_RT_PUSH_IPI
/*
-diff -Nur linux-4.4.46.orig/kernel/sched/Makefile linux-4.4.46/kernel/sched/Makefile
---- linux-4.4.46.orig/kernel/sched/Makefile 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/Makefile 2017-02-03 17:18:10.931619212 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/Makefile linux-4.4.56/kernel/sched/Makefile
+--- linux-4.4.56.orig/kernel/sched/Makefile 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/Makefile 2017-03-23 07:59:28.019525739 +0100
@@ -13,7 +13,7 @@
obj-y += core.o loadavg.o clock.o cputime.o
@@ -22709,9 +23420,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/Makefile linux-4.4.46/kernel/sched/Make
obj-$(CONFIG_SMP) += cpupri.o cpudeadline.o
obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
obj-$(CONFIG_SCHEDSTATS) += stats.o
-diff -Nur linux-4.4.46.orig/kernel/sched/rt.c linux-4.4.46/kernel/sched/rt.c
---- linux-4.4.46.orig/kernel/sched/rt.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/rt.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/rt.c linux-4.4.56/kernel/sched/rt.c
+--- linux-4.4.56.orig/kernel/sched/rt.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/rt.c 2017-03-23 07:59:28.023525894 +0100
@@ -47,6 +47,7 @@
hrtimer_init(&rt_b->rt_period_timer,
@@ -22821,18 +23532,24 @@ diff -Nur linux-4.4.46.orig/kernel/sched/rt.c linux-4.4.46/kernel/sched/rt.c
rq->curr->prio <= p->prio))
push_rt_tasks(rq);
}
-@@ -2134,7 +2136,7 @@
+@@ -2134,12 +2136,11 @@
*/
if (task_on_rq_queued(p) && rq->curr != p) {
#ifdef CONFIG_SMP
- if (p->nr_cpus_allowed > 1 && rq->rt.overloaded)
+ if (tsk_nr_cpus_allowed(p) > 1 && rq->rt.overloaded)
queue_push_tasks(rq);
- #else
+-#else
++#endif /* CONFIG_SMP */
if (p->prio < rq->curr->prio)
-diff -Nur linux-4.4.46.orig/kernel/sched/sched.h linux-4.4.46/kernel/sched/sched.h
---- linux-4.4.46.orig/kernel/sched/sched.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/sched/sched.h 2017-02-03 17:18:10.935619367 +0100
+ resched_curr(rq);
+-#endif /* CONFIG_SMP */
+ }
+ }
+
+diff -Nur linux-4.4.56.orig/kernel/sched/sched.h linux-4.4.56/kernel/sched/sched.h
+--- linux-4.4.56.orig/kernel/sched/sched.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/sched/sched.h 2017-03-23 07:59:28.023525894 +0100
@@ -1100,6 +1100,7 @@
#define WF_SYNC 0x01 /* waker goes to sleep after wakeup */
#define WF_FORK 0x02 /* child wakeup after fork */
@@ -22857,9 +23574,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/sched.h linux-4.4.46/kernel/sched/sched
extern struct rt_bandwidth def_rt_bandwidth;
extern void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime);
-diff -Nur linux-4.4.46.orig/kernel/sched/swait.c linux-4.4.46/kernel/sched/swait.c
---- linux-4.4.46.orig/kernel/sched/swait.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/kernel/sched/swait.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/swait.c linux-4.4.56/kernel/sched/swait.c
+--- linux-4.4.56.orig/kernel/sched/swait.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/kernel/sched/swait.c 2017-03-23 07:59:28.023525894 +0100
@@ -0,0 +1,143 @@
+#include <linux/sched.h>
+#include <linux/swait.h>
@@ -23004,9 +23721,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/swait.c linux-4.4.46/kernel/sched/swait
+ }
+}
+EXPORT_SYMBOL(finish_swait);
-diff -Nur linux-4.4.46.orig/kernel/sched/swork.c linux-4.4.46/kernel/sched/swork.c
---- linux-4.4.46.orig/kernel/sched/swork.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/kernel/sched/swork.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/sched/swork.c linux-4.4.56/kernel/sched/swork.c
+--- linux-4.4.56.orig/kernel/sched/swork.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/kernel/sched/swork.c 2017-03-23 07:59:28.023525894 +0100
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2014 BMW Car IT GmbH, Daniel Wagner daniel.wagner@bmw-carit.de
@@ -23181,9 +23898,9 @@ diff -Nur linux-4.4.46.orig/kernel/sched/swork.c linux-4.4.46/kernel/sched/swork
+ mutex_unlock(&worker_mutex);
+}
+EXPORT_SYMBOL_GPL(swork_put);
-diff -Nur linux-4.4.46.orig/kernel/signal.c linux-4.4.46/kernel/signal.c
---- linux-4.4.46.orig/kernel/signal.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/signal.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/signal.c linux-4.4.56/kernel/signal.c
+--- linux-4.4.56.orig/kernel/signal.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/signal.c 2017-03-23 07:59:28.023525894 +0100
@@ -14,6 +14,7 @@
#include <linux/export.h>
#include <linux/init.h>
@@ -23413,9 +24130,9 @@ diff -Nur linux-4.4.46.orig/kernel/signal.c linux-4.4.46/kernel/signal.c
freezable_schedule();
} else {
/*
-diff -Nur linux-4.4.46.orig/kernel/softirq.c linux-4.4.46/kernel/softirq.c
---- linux-4.4.46.orig/kernel/softirq.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/softirq.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/softirq.c linux-4.4.56/kernel/softirq.c
+--- linux-4.4.56.orig/kernel/softirq.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/softirq.c 2017-03-23 07:59:28.023525894 +0100
@@ -21,10 +21,12 @@
#include <linux/freezer.h>
#include <linux/kthread.h>
@@ -24386,9 +25103,9 @@ diff -Nur linux-4.4.46.orig/kernel/softirq.c linux-4.4.46/kernel/softirq.c
return 0;
}
-diff -Nur linux-4.4.46.orig/kernel/stop_machine.c linux-4.4.46/kernel/stop_machine.c
---- linux-4.4.46.orig/kernel/stop_machine.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/stop_machine.c 2017-02-03 17:18:10.935619367 +0100
+diff -Nur linux-4.4.56.orig/kernel/stop_machine.c linux-4.4.56/kernel/stop_machine.c
+--- linux-4.4.56.orig/kernel/stop_machine.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/stop_machine.c 2017-03-23 07:59:28.023525894 +0100
@@ -37,7 +37,7 @@
struct cpu_stopper {
struct task_struct *thread;
@@ -24561,9 +25278,9 @@ diff -Nur linux-4.4.46.orig/kernel/stop_machine.c linux-4.4.46/kernel/stop_machi
ret = multi_cpu_stop(&msdata);
/* Busy wait for completion. */
-diff -Nur linux-4.4.46.orig/kernel/time/hrtimer.c linux-4.4.46/kernel/time/hrtimer.c
---- linux-4.4.46.orig/kernel/time/hrtimer.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/hrtimer.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/hrtimer.c linux-4.4.56/kernel/time/hrtimer.c
+--- linux-4.4.56.orig/kernel/time/hrtimer.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/hrtimer.c 2017-03-23 07:59:28.023525894 +0100
@@ -48,11 +48,13 @@
#include <linux/sched/rt.h>
#include <linux/sched/deadline.h>
@@ -25007,9 +25724,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/hrtimer.c linux-4.4.46/kernel/time/hrtim
}
/**
-diff -Nur linux-4.4.46.orig/kernel/time/itimer.c linux-4.4.46/kernel/time/itimer.c
---- linux-4.4.46.orig/kernel/time/itimer.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/itimer.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/itimer.c linux-4.4.56/kernel/time/itimer.c
+--- linux-4.4.56.orig/kernel/time/itimer.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/itimer.c 2017-03-23 07:59:28.023525894 +0100
@@ -213,6 +213,7 @@
/* We are sharing ->siglock with it_real_fn() */
if (hrtimer_try_to_cancel(timer) < 0) {
@@ -25018,9 +25735,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/itimer.c linux-4.4.46/kernel/time/itimer
goto again;
}
expires = timeval_to_ktime(value->it_value);
-diff -Nur linux-4.4.46.orig/kernel/time/jiffies.c linux-4.4.46/kernel/time/jiffies.c
---- linux-4.4.46.orig/kernel/time/jiffies.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/jiffies.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/jiffies.c linux-4.4.56/kernel/time/jiffies.c
+--- linux-4.4.56.orig/kernel/time/jiffies.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/jiffies.c 2017-03-23 07:59:28.023525894 +0100
@@ -74,7 +74,8 @@
.max_cycles = 10,
};
@@ -25043,9 +25760,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/jiffies.c linux-4.4.46/kernel/time/jiffi
return ret;
}
EXPORT_SYMBOL(get_jiffies_64);
-diff -Nur linux-4.4.46.orig/kernel/time/ntp.c linux-4.4.46/kernel/time/ntp.c
---- linux-4.4.46.orig/kernel/time/ntp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/ntp.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/ntp.c linux-4.4.56/kernel/time/ntp.c
+--- linux-4.4.56.orig/kernel/time/ntp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/ntp.c 2017-03-23 07:59:28.023525894 +0100
@@ -10,6 +10,7 @@
#include <linux/workqueue.h>
#include <linux/hrtimer.h>
@@ -25107,9 +25824,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/ntp.c linux-4.4.46/kernel/time/ntp.c
#else
void ntp_notify_cmos_timer(void) { }
-diff -Nur linux-4.4.46.orig/kernel/time/posix-cpu-timers.c linux-4.4.46/kernel/time/posix-cpu-timers.c
---- linux-4.4.46.orig/kernel/time/posix-cpu-timers.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/posix-cpu-timers.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/posix-cpu-timers.c linux-4.4.56/kernel/time/posix-cpu-timers.c
+--- linux-4.4.56.orig/kernel/time/posix-cpu-timers.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/posix-cpu-timers.c 2017-03-23 07:59:28.027526052 +0100
@@ -3,6 +3,7 @@
*/
@@ -25343,9 +26060,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/posix-cpu-timers.c linux-4.4.46/kernel/t
/*
* Set one of the process-wide special case CPU timers or RLIMIT_CPU.
* The tsk->sighand->siglock must be held by the caller.
-diff -Nur linux-4.4.46.orig/kernel/time/posix-timers.c linux-4.4.46/kernel/time/posix-timers.c
---- linux-4.4.46.orig/kernel/time/posix-timers.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/posix-timers.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/posix-timers.c linux-4.4.56/kernel/time/posix-timers.c
+--- linux-4.4.56.orig/kernel/time/posix-timers.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/posix-timers.c 2017-03-23 07:59:28.027526052 +0100
@@ -506,6 +506,7 @@
static struct pid *good_sigevent(sigevent_t * event)
{
@@ -25441,9 +26158,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/posix-timers.c linux-4.4.46/kernel/time/
goto retry_delete;
}
list_del(&timer->list);
-diff -Nur linux-4.4.46.orig/kernel/time/tick-broadcast-hrtimer.c linux-4.4.46/kernel/time/tick-broadcast-hrtimer.c
---- linux-4.4.46.orig/kernel/time/tick-broadcast-hrtimer.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/tick-broadcast-hrtimer.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/tick-broadcast-hrtimer.c linux-4.4.56/kernel/time/tick-broadcast-hrtimer.c
+--- linux-4.4.56.orig/kernel/time/tick-broadcast-hrtimer.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/tick-broadcast-hrtimer.c 2017-03-23 07:59:28.027526052 +0100
@@ -106,5 +106,6 @@
{
hrtimer_init(&bctimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
@@ -25451,9 +26168,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/tick-broadcast-hrtimer.c linux-4.4.46/ke
+ bctimer.irqsafe = true;
clockevents_register_device(&ce_broadcast_hrtimer);
}
-diff -Nur linux-4.4.46.orig/kernel/time/tick-common.c linux-4.4.46/kernel/time/tick-common.c
---- linux-4.4.46.orig/kernel/time/tick-common.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/tick-common.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/tick-common.c linux-4.4.56/kernel/time/tick-common.c
+--- linux-4.4.56.orig/kernel/time/tick-common.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/tick-common.c 2017-03-23 07:59:28.027526052 +0100
@@ -79,13 +79,15 @@
static void tick_periodic(int cpu)
{
@@ -25484,9 +26201,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/tick-common.c linux-4.4.46/kernel/time/t
clockevents_switch_state(dev, CLOCK_EVT_STATE_ONESHOT);
-diff -Nur linux-4.4.46.orig/kernel/time/tick-sched.c linux-4.4.46/kernel/time/tick-sched.c
---- linux-4.4.46.orig/kernel/time/tick-sched.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/tick-sched.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/tick-sched.c linux-4.4.56/kernel/time/tick-sched.c
+--- linux-4.4.56.orig/kernel/time/tick-sched.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/tick-sched.c 2017-03-23 07:59:28.027526052 +0100
@@ -62,7 +62,8 @@
return;
@@ -25586,9 +26303,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/tick-sched.c linux-4.4.46/kernel/time/ti
ts->sched_timer.function = tick_sched_timer;
/* Get the next period (per cpu) */
-diff -Nur linux-4.4.46.orig/kernel/time/timekeeping.c linux-4.4.46/kernel/time/timekeeping.c
---- linux-4.4.46.orig/kernel/time/timekeeping.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/timekeeping.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/timekeeping.c linux-4.4.56/kernel/time/timekeeping.c
+--- linux-4.4.56.orig/kernel/time/timekeeping.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/timekeeping.c 2017-03-23 07:59:28.027526052 +0100
@@ -2070,8 +2070,10 @@
*/
void xtime_update(unsigned long ticks)
@@ -25602,9 +26319,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/timekeeping.c linux-4.4.46/kernel/time/t
+ raw_spin_unlock(&jiffies_lock);
update_wall_time();
}
-diff -Nur linux-4.4.46.orig/kernel/time/timekeeping.h linux-4.4.46/kernel/time/timekeeping.h
---- linux-4.4.46.orig/kernel/time/timekeeping.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/timekeeping.h 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/timekeeping.h linux-4.4.56/kernel/time/timekeeping.h
+--- linux-4.4.56.orig/kernel/time/timekeeping.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/timekeeping.h 2017-03-23 07:59:28.027526052 +0100
@@ -19,7 +19,8 @@
extern void do_timer(unsigned long ticks);
extern void update_wall_time(void);
@@ -25615,9 +26332,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/timekeeping.h linux-4.4.46/kernel/time/t
#define CS_NAME_LEN 32
-diff -Nur linux-4.4.46.orig/kernel/time/timer.c linux-4.4.46/kernel/time/timer.c
---- linux-4.4.46.orig/kernel/time/timer.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/time/timer.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/time/timer.c linux-4.4.56/kernel/time/timer.c
+--- linux-4.4.56.orig/kernel/time/timer.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/time/timer.c 2017-03-23 07:59:28.027526052 +0100
@@ -80,6 +80,9 @@
struct tvec_base {
spinlock_t lock;
@@ -25827,9 +26544,9 @@ diff -Nur linux-4.4.46.orig/kernel/time/timer.c linux-4.4.46/kernel/time/timer.c
base->timer_jiffies = jiffies;
base->next_timer = base->timer_jiffies;
-diff -Nur linux-4.4.46.orig/kernel/trace/Kconfig linux-4.4.46/kernel/trace/Kconfig
---- linux-4.4.46.orig/kernel/trace/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/trace/Kconfig 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/Kconfig linux-4.4.56/kernel/trace/Kconfig
+--- linux-4.4.56.orig/kernel/trace/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/trace/Kconfig 2017-03-23 07:59:28.027526052 +0100
@@ -187,6 +187,24 @@
enabled. This option and the preempt-off timing option can be
used together or separately.)
@@ -25955,9 +26672,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/Kconfig linux-4.4.46/kernel/trace/Kconf
config ENABLE_DEFAULT_TRACERS
bool "Trace process context switches and events"
depends on !GENERIC_TRACER
-diff -Nur linux-4.4.46.orig/kernel/trace/latency_hist.c linux-4.4.46/kernel/trace/latency_hist.c
---- linux-4.4.46.orig/kernel/trace/latency_hist.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.4.46/kernel/trace/latency_hist.c 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/latency_hist.c linux-4.4.56/kernel/trace/latency_hist.c
+--- linux-4.4.56.orig/kernel/trace/latency_hist.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/kernel/trace/latency_hist.c 2017-03-23 07:59:28.027526052 +0100
@@ -0,0 +1,1178 @@
+/*
+ * kernel/trace/latency_hist.c
@@ -27137,9 +27854,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/latency_hist.c linux-4.4.46/kernel/trac
+}
+
+device_initcall(latency_hist_init);
-diff -Nur linux-4.4.46.orig/kernel/trace/Makefile linux-4.4.46/kernel/trace/Makefile
---- linux-4.4.46.orig/kernel/trace/Makefile 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/trace/Makefile 2017-02-03 17:18:10.939619522 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/Makefile linux-4.4.56/kernel/trace/Makefile
+--- linux-4.4.56.orig/kernel/trace/Makefile 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/trace/Makefile 2017-03-23 07:59:28.027526052 +0100
@@ -40,6 +40,10 @@
obj-$(CONFIG_IRQSOFF_TRACER) += trace_irqsoff.o
obj-$(CONFIG_PREEMPT_TRACER) += trace_irqsoff.o
@@ -27151,9 +27868,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/Makefile linux-4.4.46/kernel/trace/Make
obj-$(CONFIG_NOP_TRACER) += trace_nop.o
obj-$(CONFIG_STACK_TRACER) += trace_stack.o
obj-$(CONFIG_MMIOTRACE) += trace_mmiotrace.o
-diff -Nur linux-4.4.46.orig/kernel/trace/trace.c linux-4.4.46/kernel/trace/trace.c
---- linux-4.4.46.orig/kernel/trace/trace.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/trace/trace.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/trace.c linux-4.4.56/kernel/trace/trace.c
+--- linux-4.4.56.orig/kernel/trace/trace.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/trace/trace.c 2017-03-23 07:59:28.027526052 +0100
@@ -1652,6 +1652,7 @@
struct task_struct *tsk = current;
@@ -27221,9 +27938,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/trace.c linux-4.4.46/kernel/trace/trace
}
void
-diff -Nur linux-4.4.46.orig/kernel/trace/trace_events.c linux-4.4.46/kernel/trace/trace_events.c
---- linux-4.4.46.orig/kernel/trace/trace_events.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/trace/trace_events.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/trace_events.c linux-4.4.56/kernel/trace/trace_events.c
+--- linux-4.4.56.orig/kernel/trace/trace_events.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/trace/trace_events.c 2017-03-23 07:59:28.031526211 +0100
@@ -188,6 +188,8 @@
__common_field(unsigned char, flags);
__common_field(unsigned char, preempt_count);
@@ -27248,9 +27965,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/trace_events.c linux-4.4.46/kernel/trac
fbuffer->trace_file = trace_file;
fbuffer->event =
-diff -Nur linux-4.4.46.orig/kernel/trace/trace.h linux-4.4.46/kernel/trace/trace.h
---- linux-4.4.46.orig/kernel/trace/trace.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/trace/trace.h 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/trace.h linux-4.4.56/kernel/trace/trace.h
+--- linux-4.4.56.orig/kernel/trace/trace.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/trace/trace.h 2017-03-23 07:59:28.027526052 +0100
@@ -117,6 +117,7 @@
* NEED_RESCHED - reschedule is requested
* HARDIRQ - inside an interrupt handler
@@ -27267,9 +27984,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/trace.h linux-4.4.46/kernel/trace/trace
};
#define TRACE_BUF_SIZE 1024
-diff -Nur linux-4.4.46.orig/kernel/trace/trace_irqsoff.c linux-4.4.46/kernel/trace/trace_irqsoff.c
---- linux-4.4.46.orig/kernel/trace/trace_irqsoff.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/trace/trace_irqsoff.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/trace_irqsoff.c linux-4.4.56/kernel/trace/trace_irqsoff.c
+--- linux-4.4.56.orig/kernel/trace/trace_irqsoff.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/trace/trace_irqsoff.c 2017-03-23 07:59:28.031526211 +0100
@@ -13,6 +13,7 @@
#include <linux/uaccess.h>
#include <linux/module.h>
@@ -27353,9 +28070,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/trace_irqsoff.c linux-4.4.46/kernel/tra
if (preempt_trace() && !irq_trace())
start_critical_timing(a0, a1);
}
-diff -Nur linux-4.4.46.orig/kernel/trace/trace_output.c linux-4.4.46/kernel/trace/trace_output.c
---- linux-4.4.46.orig/kernel/trace/trace_output.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/trace/trace_output.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/trace/trace_output.c linux-4.4.56/kernel/trace/trace_output.c
+--- linux-4.4.56.orig/kernel/trace/trace_output.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/trace/trace_output.c 2017-03-23 07:59:28.031526211 +0100
@@ -386,6 +386,7 @@
{
char hardsoft_irq;
@@ -27401,9 +28118,9 @@ diff -Nur linux-4.4.46.orig/kernel/trace/trace_output.c linux-4.4.46/kernel/trac
return !trace_seq_has_overflowed(s);
}
-diff -Nur linux-4.4.46.orig/kernel/user.c linux-4.4.46/kernel/user.c
---- linux-4.4.46.orig/kernel/user.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/user.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/user.c linux-4.4.56/kernel/user.c
+--- linux-4.4.56.orig/kernel/user.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/user.c 2017-03-23 07:59:28.031526211 +0100
@@ -161,11 +161,11 @@
if (!up)
return;
@@ -27418,9 +28135,9 @@ diff -Nur linux-4.4.46.orig/kernel/user.c linux-4.4.46/kernel/user.c
}
struct user_struct *alloc_uid(kuid_t uid)
-diff -Nur linux-4.4.46.orig/kernel/watchdog.c linux-4.4.46/kernel/watchdog.c
---- linux-4.4.46.orig/kernel/watchdog.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/watchdog.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/watchdog.c linux-4.4.56/kernel/watchdog.c
+--- linux-4.4.56.orig/kernel/watchdog.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/watchdog.c 2017-03-23 07:59:28.031526211 +0100
@@ -299,6 +299,8 @@
#ifdef CONFIG_HARDLOCKUP_DETECTOR
@@ -27463,9 +28180,9 @@ diff -Nur linux-4.4.46.orig/kernel/watchdog.c linux-4.4.46/kernel/watchdog.c
/* Enable the perf event */
watchdog_nmi_enable(cpu);
-diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
---- linux-4.4.46.orig/kernel/workqueue.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/workqueue.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/workqueue.c linux-4.4.56/kernel/workqueue.c
+--- linux-4.4.56.orig/kernel/workqueue.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/workqueue.c 2017-03-23 07:59:28.031526211 +0100
@@ -48,6 +48,8 @@
#include <linux/nodemask.h>
#include <linux/moduleparam.h>
@@ -27737,7 +28454,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
/**
-@@ -1108,12 +1132,12 @@
+@@ -1108,12 +1132,14 @@
{
if (pwq) {
/*
@@ -27746,14 +28463,16 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
* following lock operations are safe.
*/
- spin_lock_irq(&pwq->pool->lock);
++ rcu_read_lock();
+ local_spin_lock_irq(pendingb_lock, &pwq->pool->lock);
put_pwq(pwq);
- spin_unlock_irq(&pwq->pool->lock);
+ local_spin_unlock_irq(pendingb_lock, &pwq->pool->lock);
++ rcu_read_unlock();
}
}
-@@ -1215,7 +1239,7 @@
+@@ -1215,7 +1241,7 @@
struct worker_pool *pool;
struct pool_workqueue *pwq;
@@ -27762,7 +28481,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
/* try to steal the timer if it exists */
if (is_dwork) {
-@@ -1234,6 +1258,7 @@
+@@ -1234,6 +1260,7 @@
if (!test_and_set_bit(WORK_STRUCT_PENDING_BIT, work_data_bits(work)))
return 0;
@@ -27770,7 +28489,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
/*
* The queueing is in progress, or it is already queued. Try to
* steal it from ->worklist without clearing WORK_STRUCT_PENDING.
-@@ -1272,14 +1297,16 @@
+@@ -1272,14 +1299,16 @@
set_work_pool_and_keep_pending(work, pool->id);
spin_unlock(&pool->lock);
@@ -27789,7 +28508,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return -EAGAIN;
}
-@@ -1348,7 +1375,7 @@
+@@ -1348,7 +1377,7 @@
* queued or lose PENDING. Grabbing PENDING and queueing should
* happen with IRQ disabled.
*/
@@ -27798,7 +28517,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
debug_work_activate(work);
-@@ -1356,6 +1383,8 @@
+@@ -1356,6 +1385,8 @@
if (unlikely(wq->flags & __WQ_DRAINING) &&
WARN_ON_ONCE(!is_chained_work(wq)))
return;
@@ -27807,7 +28526,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
retry:
if (req_cpu == WORK_CPU_UNBOUND)
cpu = raw_smp_processor_id();
-@@ -1412,10 +1441,8 @@
+@@ -1412,10 +1443,8 @@
/* pwq determined, queue */
trace_workqueue_queue_work(req_cpu, pwq, work);
@@ -27820,7 +28539,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
pwq->nr_in_flight[pwq->work_color]++;
work_flags = work_color_to_flags(pwq->work_color);
-@@ -1431,7 +1458,9 @@
+@@ -1431,7 +1460,9 @@
insert_work(pwq, work, worklist, work_flags);
@@ -27830,7 +28549,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
/**
-@@ -1451,14 +1480,14 @@
+@@ -1451,14 +1482,14 @@
bool ret = false;
unsigned long flags;
@@ -27847,7 +28566,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return ret;
}
EXPORT_SYMBOL(queue_work_on);
-@@ -1525,14 +1554,14 @@
+@@ -1525,14 +1556,14 @@
unsigned long flags;
/* read the comment in __queue_work() */
@@ -27864,7 +28583,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return ret;
}
EXPORT_SYMBOL(queue_delayed_work_on);
-@@ -1567,7 +1596,7 @@
+@@ -1567,7 +1598,7 @@
if (likely(ret >= 0)) {
__queue_delayed_work(cpu, wq, dwork, delay);
@@ -27873,7 +28592,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
/* -ENOENT from try_to_grab_pending() becomes %true */
-@@ -1600,7 +1629,9 @@
+@@ -1600,7 +1631,9 @@
worker->last_active = jiffies;
/* idle_list is LIFO */
@@ -27883,7 +28602,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
if (too_many_workers(pool) && !timer_pending(&pool->idle_timer))
mod_timer(&pool->idle_timer, jiffies + IDLE_WORKER_TIMEOUT);
-@@ -1633,7 +1664,9 @@
+@@ -1633,7 +1666,9 @@
return;
worker_clr_flags(worker, WORKER_IDLE);
pool->nr_idle--;
@@ -27893,7 +28612,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
static struct worker *alloc_worker(int node)
-@@ -1799,7 +1832,9 @@
+@@ -1799,7 +1834,9 @@
pool->nr_workers--;
pool->nr_idle--;
@@ -27903,7 +28622,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
worker->flags |= WORKER_DIE;
wake_up_process(worker->task);
}
-@@ -2716,14 +2751,14 @@
+@@ -2716,14 +2753,14 @@
might_sleep();
@@ -27921,7 +28640,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
/* see the comment in try_to_grab_pending() with the same code */
pwq = get_work_pwq(work);
if (pwq) {
-@@ -2750,10 +2785,11 @@
+@@ -2750,10 +2787,11 @@
else
lock_map_acquire_read(&pwq->wq->lockdep_map);
lock_map_release(&pwq->wq->lockdep_map);
@@ -27934,7 +28653,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return false;
}
-@@ -2840,7 +2876,7 @@
+@@ -2840,7 +2878,7 @@
/* tell other tasks trying to grab @work to back off */
mark_work_canceling(work);
@@ -27943,7 +28662,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
flush_work(work);
clear_work_data(work);
-@@ -2895,10 +2931,10 @@
+@@ -2895,10 +2933,10 @@
*/
bool flush_delayed_work(struct delayed_work *dwork)
{
@@ -27956,7 +28675,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return flush_work(&dwork->work);
}
EXPORT_SYMBOL(flush_delayed_work);
-@@ -2933,7 +2969,7 @@
+@@ -2933,7 +2971,7 @@
set_work_pool_and_clear_pending(&dwork->work,
get_work_pool_id(&dwork->work));
@@ -27965,7 +28684,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return ret;
}
EXPORT_SYMBOL(cancel_delayed_work);
-@@ -3161,7 +3197,7 @@
+@@ -3161,7 +3199,7 @@
* put_unbound_pool - put a worker_pool
* @pool: worker_pool to put
*
@@ -27974,7 +28693,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
* safe manner. get_unbound_pool() calls this function on its failure path
* and this function should be able to release pools which went through,
* successfully or not, init_worker_pool().
-@@ -3215,8 +3251,8 @@
+@@ -3215,8 +3253,8 @@
del_timer_sync(&pool->idle_timer);
del_timer_sync(&pool->mayday_timer);
@@ -27985,7 +28704,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
/**
-@@ -3323,14 +3359,14 @@
+@@ -3323,14 +3361,14 @@
put_unbound_pool(pool);
mutex_unlock(&wq_pool_mutex);
@@ -28002,7 +28721,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
/**
-@@ -3983,7 +4019,7 @@
+@@ -3983,7 +4021,7 @@
* The base ref is never dropped on per-cpu pwqs. Directly
* schedule RCU free.
*/
@@ -28011,7 +28730,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
} else {
/*
* We're the sole accessor of @wq at this point. Directly
-@@ -4076,7 +4112,8 @@
+@@ -4076,7 +4114,8 @@
struct pool_workqueue *pwq;
bool ret;
@@ -28021,7 +28740,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
if (cpu == WORK_CPU_UNBOUND)
cpu = smp_processor_id();
-@@ -4087,7 +4124,8 @@
+@@ -4087,7 +4126,8 @@
pwq = unbound_pwq_by_node(wq, cpu_to_node(cpu));
ret = !list_empty(&pwq->delayed_works);
@@ -28031,7 +28750,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return ret;
}
-@@ -4113,15 +4151,15 @@
+@@ -4113,15 +4153,15 @@
if (work_pending(work))
ret |= WORK_BUSY_PENDING;
@@ -28051,7 +28770,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return ret;
}
-@@ -4310,7 +4348,7 @@
+@@ -4310,7 +4350,7 @@
unsigned long flags;
int pi;
@@ -28060,7 +28779,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
pr_info("Showing busy workqueues and worker pools:\n");
-@@ -4361,7 +4399,7 @@
+@@ -4361,7 +4401,7 @@
spin_unlock_irqrestore(&pool->lock, flags);
}
@@ -28069,7 +28788,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
/*
-@@ -4722,16 +4760,16 @@
+@@ -4722,16 +4762,16 @@
* nr_active is monotonically decreasing. It's safe
* to peek without lock.
*/
@@ -28089,7 +28808,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
}
out_unlock:
mutex_unlock(&wq_pool_mutex);
-@@ -4921,7 +4959,8 @@
+@@ -4921,7 +4961,8 @@
const char *delim = "";
int node, written = 0;
@@ -28099,7 +28818,7 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
for_each_node(node) {
written += scnprintf(buf + written, PAGE_SIZE - written,
"%s%d:%d", delim, node,
-@@ -4929,7 +4968,8 @@
+@@ -4929,7 +4970,8 @@
delim = " ";
}
written += scnprintf(buf + written, PAGE_SIZE - written, "\n");
@@ -28109,9 +28828,9 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue.c linux-4.4.46/kernel/workqueue.c
return written;
}
-diff -Nur linux-4.4.46.orig/kernel/workqueue_internal.h linux-4.4.46/kernel/workqueue_internal.h
---- linux-4.4.46.orig/kernel/workqueue_internal.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/kernel/workqueue_internal.h 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/kernel/workqueue_internal.h linux-4.4.56/kernel/workqueue_internal.h
+--- linux-4.4.56.orig/kernel/workqueue_internal.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/kernel/workqueue_internal.h 2017-03-23 07:59:28.031526211 +0100
@@ -43,6 +43,7 @@
unsigned long last_active; /* L: last active timestamp */
unsigned int flags; /* X: flags */
@@ -28130,9 +28849,9 @@ diff -Nur linux-4.4.46.orig/kernel/workqueue_internal.h linux-4.4.46/kernel/work
+void wq_worker_sleeping(struct task_struct *task);
#endif /* _KERNEL_WORKQUEUE_INTERNAL_H */
-diff -Nur linux-4.4.46.orig/lib/debugobjects.c linux-4.4.46/lib/debugobjects.c
---- linux-4.4.46.orig/lib/debugobjects.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/debugobjects.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/lib/debugobjects.c linux-4.4.56/lib/debugobjects.c
+--- linux-4.4.56.orig/lib/debugobjects.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/debugobjects.c 2017-03-23 07:59:28.031526211 +0100
@@ -309,7 +309,10 @@
struct debug_obj *obj;
unsigned long flags;
@@ -28145,9 +28864,9 @@ diff -Nur linux-4.4.46.orig/lib/debugobjects.c linux-4.4.46/lib/debugobjects.c
db = get_bucket((unsigned long) addr);
-diff -Nur linux-4.4.46.orig/lib/idr.c linux-4.4.46/lib/idr.c
---- linux-4.4.46.orig/lib/idr.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/idr.c 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/lib/idr.c linux-4.4.56/lib/idr.c
+--- linux-4.4.56.orig/lib/idr.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/idr.c 2017-03-23 07:59:28.031526211 +0100
@@ -30,6 +30,7 @@
#include <linux/idr.h>
#include <linux/spinlock.h>
@@ -28240,9 +28959,9 @@ diff -Nur linux-4.4.46.orig/lib/idr.c linux-4.4.46/lib/idr.c
if (!new)
break;
-diff -Nur linux-4.4.46.orig/lib/Kconfig linux-4.4.46/lib/Kconfig
---- linux-4.4.46.orig/lib/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/Kconfig 2017-02-03 17:18:10.943619676 +0100
+diff -Nur linux-4.4.56.orig/lib/Kconfig linux-4.4.56/lib/Kconfig
+--- linux-4.4.56.orig/lib/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/Kconfig 2017-03-23 07:59:28.031526211 +0100
@@ -397,6 +397,7 @@
config CPUMASK_OFFSTACK
@@ -28251,9 +28970,9 @@ diff -Nur linux-4.4.46.orig/lib/Kconfig linux-4.4.46/lib/Kconfig
help
Use dynamic allocation for cpumask_var_t, instead of putting
them on the stack. This is a bit more expensive, but avoids
-diff -Nur linux-4.4.46.orig/lib/locking-selftest.c linux-4.4.46/lib/locking-selftest.c
---- linux-4.4.46.orig/lib/locking-selftest.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/locking-selftest.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/lib/locking-selftest.c linux-4.4.56/lib/locking-selftest.c
+--- linux-4.4.56.orig/lib/locking-selftest.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/locking-selftest.c 2017-03-23 07:59:28.031526211 +0100
@@ -590,6 +590,8 @@
#include "locking-selftest-spin-hardirq.h"
GENERATE_PERMUTATIONS_2_EVENTS(irqsafe1_hard_spin)
@@ -28402,9 +29121,9 @@ diff -Nur linux-4.4.46.orig/lib/locking-selftest.c linux-4.4.46/lib/locking-self
ww_tests();
-diff -Nur linux-4.4.46.orig/lib/percpu_ida.c linux-4.4.46/lib/percpu_ida.c
---- linux-4.4.46.orig/lib/percpu_ida.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/percpu_ida.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/lib/percpu_ida.c linux-4.4.56/lib/percpu_ida.c
+--- linux-4.4.56.orig/lib/percpu_ida.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/percpu_ida.c 2017-03-23 07:59:28.031526211 +0100
@@ -26,6 +26,9 @@
#include <linux/string.h>
#include <linux/spinlock.h>
@@ -28493,44 +29212,82 @@ diff -Nur linux-4.4.46.orig/lib/percpu_ida.c linux-4.4.46/lib/percpu_ida.c
return err;
}
EXPORT_SYMBOL_GPL(percpu_ida_for_each_free);
-diff -Nur linux-4.4.46.orig/lib/radix-tree.c linux-4.4.46/lib/radix-tree.c
---- linux-4.4.46.orig/lib/radix-tree.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/radix-tree.c 2017-02-03 17:18:10.947619830 +0100
-@@ -196,13 +196,14 @@
+diff -Nur linux-4.4.56.orig/lib/radix-tree.c linux-4.4.56/lib/radix-tree.c
+--- linux-4.4.56.orig/lib/radix-tree.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/radix-tree.c 2017-03-23 07:59:28.031526211 +0100
+@@ -34,7 +34,7 @@
+ #include <linux/bitops.h>
+ #include <linux/rcupdate.h>
+ #include <linux/preempt.h> /* in_interrupt() */
+-
++#include <linux/locallock.h>
+
+ /*
+ * The height_to_maxindex array needs to be one deeper than the maximum
+@@ -69,6 +69,7 @@
+ struct radix_tree_node *nodes;
+ };
+ static DEFINE_PER_CPU(struct radix_tree_preload, radix_tree_preloads) = { 0, };
++static DEFINE_LOCAL_IRQ_LOCK(radix_tree_preloads_lock);
+
+ static inline void *ptr_to_indirect(void *ptr)
+ {
+@@ -196,13 +197,14 @@
* succeed in getting a node here (and never reach
* kmem_cache_alloc)
*/
- rtp = this_cpu_ptr(&radix_tree_preloads);
-+ rtp = &get_cpu_var(radix_tree_preloads);
++ rtp = &get_locked_var(radix_tree_preloads_lock, radix_tree_preloads);
if (rtp->nr) {
ret = rtp->nodes;
rtp->nodes = ret->private_data;
ret->private_data = NULL;
rtp->nr--;
}
-+ put_cpu_var(radix_tree_preloads);
++ put_locked_var(radix_tree_preloads_lock, radix_tree_preloads);
/*
* Update the allocation stack trace as this is more useful
* for debugging.
-@@ -242,6 +243,7 @@
- call_rcu(&node->rcu_head, radix_tree_node_rcu_free);
- }
+@@ -257,14 +259,14 @@
+ struct radix_tree_node *node;
+ int ret = -ENOMEM;
-+#ifndef CONFIG_PREEMPT_RT_FULL
- /*
- * Load up this CPU's radix_tree_node buffer with sufficient objects to
- * ensure that the addition of a single element in the tree cannot fail. On
-@@ -310,6 +312,7 @@
+- preempt_disable();
++ local_lock(radix_tree_preloads_lock);
+ rtp = this_cpu_ptr(&radix_tree_preloads);
+ while (rtp->nr < RADIX_TREE_PRELOAD_SIZE) {
+- preempt_enable();
++ local_unlock(radix_tree_preloads_lock);
+ node = kmem_cache_alloc(radix_tree_node_cachep, gfp_mask);
+ if (node == NULL)
+ goto out;
+- preempt_disable();
++ local_lock(radix_tree_preloads_lock);
+ rtp = this_cpu_ptr(&radix_tree_preloads);
+ if (rtp->nr < RADIX_TREE_PRELOAD_SIZE) {
+ node->private_data = rtp->nodes;
+@@ -306,11 +308,17 @@
+ if (gfpflags_allow_blocking(gfp_mask))
+ return __radix_tree_preload(gfp_mask);
+ /* Preloading doesn't help anything with this gfp mask, skip it */
+- preempt_disable();
++ local_lock(radix_tree_preloads_lock);
return 0;
}
EXPORT_SYMBOL(radix_tree_maybe_preload);
-+#endif
++void radix_tree_preload_end(void)
++{
++ local_unlock(radix_tree_preloads_lock);
++}
++EXPORT_SYMBOL(radix_tree_preload_end);
++
/*
* Return the maximum key which can be store into a
-diff -Nur linux-4.4.46.orig/lib/rbtree.c linux-4.4.46/lib/rbtree.c
---- linux-4.4.46.orig/lib/rbtree.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/rbtree.c 2017-02-03 17:18:10.947619830 +0100
+ * radix tree with height HEIGHT.
+diff -Nur linux-4.4.56.orig/lib/rbtree.c linux-4.4.56/lib/rbtree.c
+--- linux-4.4.56.orig/lib/rbtree.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/rbtree.c 2017-03-23 07:59:28.031526211 +0100
@@ -23,6 +23,7 @@
#include <linux/rbtree_augmented.h>
@@ -28553,9 +29310,9 @@ diff -Nur linux-4.4.46.orig/lib/rbtree.c linux-4.4.46/lib/rbtree.c
+ rcu_assign_pointer(*rb_link, node);
+}
+EXPORT_SYMBOL(rb_link_node_rcu);
-diff -Nur linux-4.4.46.orig/lib/scatterlist.c linux-4.4.46/lib/scatterlist.c
---- linux-4.4.46.orig/lib/scatterlist.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/scatterlist.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/lib/scatterlist.c linux-4.4.56/lib/scatterlist.c
+--- linux-4.4.56.orig/lib/scatterlist.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/scatterlist.c 2017-03-23 07:59:28.031526211 +0100
@@ -620,7 +620,7 @@
flush_kernel_dcache_page(miter->page);
@@ -28583,9 +29340,9 @@ diff -Nur linux-4.4.46.orig/lib/scatterlist.c linux-4.4.46/lib/scatterlist.c
return offset;
}
EXPORT_SYMBOL(sg_copy_buffer);
-diff -Nur linux-4.4.46.orig/lib/smp_processor_id.c linux-4.4.46/lib/smp_processor_id.c
---- linux-4.4.46.orig/lib/smp_processor_id.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/lib/smp_processor_id.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/lib/smp_processor_id.c linux-4.4.56/lib/smp_processor_id.c
+--- linux-4.4.56.orig/lib/smp_processor_id.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/lib/smp_processor_id.c 2017-03-23 07:59:28.031526211 +0100
@@ -39,8 +39,9 @@
if (!printk_ratelimit())
goto out_enable;
@@ -28598,9 +29355,14 @@ diff -Nur linux-4.4.46.orig/lib/smp_processor_id.c linux-4.4.46/lib/smp_processo
print_symbol("caller is %s\n", (long)__builtin_return_address(0));
dump_stack();
-diff -Nur linux-4.4.46.orig/Makefile linux-4.4.46/Makefile
---- linux-4.4.46.orig/Makefile 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/Makefile 2017-02-03 17:18:05.627414322 +0100
+diff -Nur linux-4.4.56.orig/localversion-rt linux-4.4.56/localversion-rt
+--- linux-4.4.56.orig/localversion-rt 1970-01-01 01:00:00.000000000 +0100
++++ linux-4.4.56/localversion-rt 2017-03-23 07:59:28.031526211 +0100
+@@ -0,0 +1 @@
++-rt66
+diff -Nur linux-4.4.56.orig/Makefile linux-4.4.56/Makefile
+--- linux-4.4.56.orig/Makefile 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/Makefile 2017-03-23 07:59:27.943522850 +0100
@@ -785,6 +785,9 @@
# Prohibit date/time macros, which would make the build non-deterministic
KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
@@ -28611,9 +29373,9 @@ diff -Nur linux-4.4.46.orig/Makefile linux-4.4.46/Makefile
# use the deterministic mode of AR if available
KBUILD_ARFLAGS := $(call ar-option,D)
-diff -Nur linux-4.4.46.orig/mm/backing-dev.c linux-4.4.46/mm/backing-dev.c
---- linux-4.4.46.orig/mm/backing-dev.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/backing-dev.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/mm/backing-dev.c linux-4.4.56/mm/backing-dev.c
+--- linux-4.4.56.orig/mm/backing-dev.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/backing-dev.c 2017-03-23 07:59:28.035526366 +0100
@@ -457,9 +457,9 @@
{
unsigned long flags;
@@ -28626,9 +29388,9 @@ diff -Nur linux-4.4.46.orig/mm/backing-dev.c linux-4.4.46/mm/backing-dev.c
return;
}
-diff -Nur linux-4.4.46.orig/mm/compaction.c linux-4.4.46/mm/compaction.c
---- linux-4.4.46.orig/mm/compaction.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/compaction.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/mm/compaction.c linux-4.4.56/mm/compaction.c
+--- linux-4.4.56.orig/mm/compaction.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/compaction.c 2017-03-23 07:59:28.035526366 +0100
@@ -1430,10 +1430,12 @@
cc->migrate_pfn & ~((1UL << cc->order) - 1);
@@ -28644,9 +29406,9 @@ diff -Nur linux-4.4.46.orig/mm/compaction.c linux-4.4.46/mm/compaction.c
/* No more flushing until we migrate again */
cc->last_migrated_pfn = 0;
}
-diff -Nur linux-4.4.46.orig/mm/filemap.c linux-4.4.46/mm/filemap.c
---- linux-4.4.46.orig/mm/filemap.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/filemap.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/mm/filemap.c linux-4.4.56/mm/filemap.c
+--- linux-4.4.56.orig/mm/filemap.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/filemap.c 2017-03-23 07:59:28.035526366 +0100
@@ -144,9 +144,12 @@
* node->private_list is protected by
* mapping->tree_lock.
@@ -28673,9 +29435,9 @@ diff -Nur linux-4.4.46.orig/mm/filemap.c linux-4.4.46/mm/filemap.c
}
}
-diff -Nur linux-4.4.46.orig/mm/highmem.c linux-4.4.46/mm/highmem.c
---- linux-4.4.46.orig/mm/highmem.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/highmem.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/mm/highmem.c linux-4.4.56/mm/highmem.c
+--- linux-4.4.56.orig/mm/highmem.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/highmem.c 2017-03-23 07:59:28.035526366 +0100
@@ -29,10 +29,11 @@
#include <linux/kgdb.h>
#include <asm/tlbflush.h>
@@ -28700,9 +29462,9 @@ diff -Nur linux-4.4.46.orig/mm/highmem.c linux-4.4.46/mm/highmem.c
unsigned int nr_free_highpages (void)
{
-diff -Nur linux-4.4.46.orig/mm/Kconfig linux-4.4.46/mm/Kconfig
---- linux-4.4.46.orig/mm/Kconfig 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/Kconfig 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/mm/Kconfig linux-4.4.56/mm/Kconfig
+--- linux-4.4.56.orig/mm/Kconfig 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/Kconfig 2017-03-23 07:59:28.035526366 +0100
@@ -392,7 +392,7 @@
config TRANSPARENT_HUGEPAGE
@@ -28712,9 +29474,9 @@ diff -Nur linux-4.4.46.orig/mm/Kconfig linux-4.4.46/mm/Kconfig
select COMPACTION
help
Transparent Hugepages allows the kernel to use huge pages and
-diff -Nur linux-4.4.46.orig/mm/memcontrol.c linux-4.4.46/mm/memcontrol.c
---- linux-4.4.46.orig/mm/memcontrol.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/memcontrol.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/mm/memcontrol.c linux-4.4.56/mm/memcontrol.c
+--- linux-4.4.56.orig/mm/memcontrol.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/memcontrol.c 2017-03-23 07:59:28.035526366 +0100
@@ -67,6 +67,8 @@
#include <net/sock.h>
#include <net/ip.h>
@@ -28770,7 +29532,7 @@ diff -Nur linux-4.4.46.orig/mm/memcontrol.c linux-4.4.46/mm/memcontrol.c
put_online_cpus();
mutex_unlock(&percpu_charge_mutex);
}
-@@ -4709,12 +4715,12 @@
+@@ -4691,12 +4697,12 @@
ret = 0;
@@ -28785,7 +29547,7 @@ diff -Nur linux-4.4.46.orig/mm/memcontrol.c linux-4.4.46/mm/memcontrol.c
out_unlock:
unlock_page(page);
out:
-@@ -5504,10 +5510,10 @@
+@@ -5486,10 +5492,10 @@
VM_BUG_ON_PAGE(!PageTransHuge(page), page);
}
@@ -28798,7 +29560,7 @@ diff -Nur linux-4.4.46.orig/mm/memcontrol.c linux-4.4.46/mm/memcontrol.c
if (do_swap_account && PageSwapCache(page)) {
swp_entry_t entry = { .val = page_private(page) };
-@@ -5563,14 +5569,14 @@
+@@ -5545,14 +5551,14 @@
memcg_oom_recover(memcg);
}
@@ -28840,9 +29602,9 @@ diff -Nur linux-4.4.46.orig/mm/memcontrol.c linux-4.4.46/mm/memcontrol.c
}
/**
-diff -Nur linux-4.4.46.orig/mm/mmu_context.c linux-4.4.46/mm/mmu_context.c
---- linux-4.4.46.orig/mm/mmu_context.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/mmu_context.c 2017-02-03 17:18:10.947619830 +0100
+diff -Nur linux-4.4.56.orig/mm/mmu_context.c linux-4.4.56/mm/mmu_context.c
+--- linux-4.4.56.orig/mm/mmu_context.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/mmu_context.c 2017-03-23 07:59:28.035526366 +0100
@@ -23,6 +23,7 @@
struct task_struct *tsk = current;
@@ -28859,9 +29621,9 @@ diff -Nur linux-4.4.46.orig/mm/mmu_context.c linux-4.4.46/mm/mmu_context.c
task_unlock(tsk);
#ifdef finish_arch_post_lock_switch
finish_arch_post_lock_switch();
-diff -Nur linux-4.4.46.orig/mm/page_alloc.c linux-4.4.46/mm/page_alloc.c
---- linux-4.4.46.orig/mm/page_alloc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/page_alloc.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/page_alloc.c linux-4.4.56/mm/page_alloc.c
+--- linux-4.4.56.orig/mm/page_alloc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/page_alloc.c 2017-03-23 07:59:28.035526366 +0100
@@ -60,6 +60,7 @@
#include <linux/page_ext.h>
#include <linux/hugetlb.h>
@@ -29196,9 +29958,71 @@ diff -Nur linux-4.4.46.orig/mm/page_alloc.c linux-4.4.46/mm/page_alloc.c
}
#ifdef CONFIG_MEMORY_HOTREMOVE
-diff -Nur linux-4.4.46.orig/mm/slab.h linux-4.4.46/mm/slab.h
---- linux-4.4.46.orig/mm/slab.h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/slab.h 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/percpu.c linux-4.4.56/mm/percpu.c
+--- linux-4.4.56.orig/mm/percpu.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/percpu.c 2017-03-23 07:59:28.035526366 +0100
+@@ -1282,18 +1282,7 @@
+ }
+ EXPORT_SYMBOL_GPL(free_percpu);
+
+-/**
+- * is_kernel_percpu_address - test whether address is from static percpu area
+- * @addr: address to test
+- *
+- * Test whether @addr belongs to in-kernel static percpu area. Module
+- * static percpu areas are not considered. For those, use
+- * is_module_percpu_address().
+- *
+- * RETURNS:
+- * %true if @addr is from in-kernel static percpu area, %false otherwise.
+- */
+-bool is_kernel_percpu_address(unsigned long addr)
++bool __is_kernel_percpu_address(unsigned long addr, unsigned long *can_addr)
+ {
+ #ifdef CONFIG_SMP
+ const size_t static_size = __per_cpu_end - __per_cpu_start;
+@@ -1302,16 +1291,36 @@
+
+ for_each_possible_cpu(cpu) {
+ void *start = per_cpu_ptr(base, cpu);
++ void *va = (void *)addr;
+
+- if ((void *)addr >= start && (void *)addr < start + static_size)
++ if (va >= start && va < start + static_size) {
++ if (can_addr)
++ *can_addr = (unsigned long) (va - start);
+ return true;
+- }
++ }
++ }
+ #endif
+ /* on UP, can't distinguish from other static vars, always false */
+ return false;
+ }
+
+ /**
++ * is_kernel_percpu_address - test whether address is from static percpu area
++ * @addr: address to test
++ *
++ * Test whether @addr belongs to in-kernel static percpu area. Module
++ * static percpu areas are not considered. For those, use
++ * is_module_percpu_address().
++ *
++ * RETURNS:
++ * %true if @addr is from in-kernel static percpu area, %false otherwise.
++ */
++bool is_kernel_percpu_address(unsigned long addr)
++{
++ return __is_kernel_percpu_address(addr, NULL);
++}
++
++/**
+ * per_cpu_ptr_to_phys - convert translated percpu address to physical address
+ * @addr: the address to be converted to physical address
+ *
+diff -Nur linux-4.4.56.orig/mm/slab.h linux-4.4.56/mm/slab.h
+--- linux-4.4.56.orig/mm/slab.h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/slab.h 2017-03-23 07:59:28.035526366 +0100
@@ -324,7 +324,11 @@
* The slab lists for all objects.
*/
@@ -29211,9 +30035,9 @@ diff -Nur linux-4.4.46.orig/mm/slab.h linux-4.4.46/mm/slab.h
#ifdef CONFIG_SLAB
struct list_head slabs_partial; /* partial list first, better asm code */
-diff -Nur linux-4.4.46.orig/mm/slub.c linux-4.4.46/mm/slub.c
---- linux-4.4.46.orig/mm/slub.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/slub.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/slub.c linux-4.4.56/mm/slub.c
+--- linux-4.4.56.orig/mm/slub.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/slub.c 2017-03-23 07:59:28.039526518 +0100
@@ -1075,7 +1075,7 @@
void *object = head;
int cnt = 0;
@@ -29615,9 +30439,9 @@ diff -Nur linux-4.4.46.orig/mm/slub.c linux-4.4.46/mm/slub.c
}
for (i = 0; i < t.count; i++) {
-diff -Nur linux-4.4.46.orig/mm/swap.c linux-4.4.46/mm/swap.c
---- linux-4.4.46.orig/mm/swap.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/swap.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/swap.c linux-4.4.56/mm/swap.c
+--- linux-4.4.56.orig/mm/swap.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/swap.c 2017-03-23 07:59:28.039526518 +0100
@@ -31,6 +31,7 @@
#include <linux/memcontrol.h>
#include <linux/gfp.h>
@@ -29795,9 +30619,9 @@ diff -Nur linux-4.4.46.orig/mm/swap.c linux-4.4.46/mm/swap.c
put_online_cpus();
mutex_unlock(&lock);
-diff -Nur linux-4.4.46.orig/mm/truncate.c linux-4.4.46/mm/truncate.c
---- linux-4.4.46.orig/mm/truncate.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/truncate.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/truncate.c linux-4.4.56/mm/truncate.c
+--- linux-4.4.56.orig/mm/truncate.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/truncate.c 2017-03-23 07:59:28.039526518 +0100
@@ -56,8 +56,11 @@
* protected by mapping->tree_lock.
*/
@@ -29812,9 +30636,9 @@ diff -Nur linux-4.4.46.orig/mm/truncate.c linux-4.4.46/mm/truncate.c
__radix_tree_delete_node(&mapping->page_tree, node);
unlock:
spin_unlock_irq(&mapping->tree_lock);
-diff -Nur linux-4.4.46.orig/mm/vmalloc.c linux-4.4.46/mm/vmalloc.c
---- linux-4.4.46.orig/mm/vmalloc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/vmalloc.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/vmalloc.c linux-4.4.56/mm/vmalloc.c
+--- linux-4.4.56.orig/mm/vmalloc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/vmalloc.c 2017-03-23 07:59:28.039526518 +0100
@@ -821,7 +821,7 @@
struct vmap_block *vb;
struct vmap_area *va;
@@ -29866,9 +30690,9 @@ diff -Nur linux-4.4.46.orig/mm/vmalloc.c linux-4.4.46/mm/vmalloc.c
rcu_read_unlock();
/* Allocate new block if nothing was found */
-diff -Nur linux-4.4.46.orig/mm/vmstat.c linux-4.4.46/mm/vmstat.c
---- linux-4.4.46.orig/mm/vmstat.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/vmstat.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/vmstat.c linux-4.4.56/mm/vmstat.c
+--- linux-4.4.56.orig/mm/vmstat.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/vmstat.c 2017-03-23 07:59:28.039526518 +0100
@@ -226,6 +226,7 @@
long x;
long t;
@@ -29917,9 +30741,9 @@ diff -Nur linux-4.4.46.orig/mm/vmstat.c linux-4.4.46/mm/vmstat.c
}
void __dec_zone_page_state(struct page *page, enum zone_stat_item item)
-diff -Nur linux-4.4.46.orig/mm/workingset.c linux-4.4.46/mm/workingset.c
---- linux-4.4.46.orig/mm/workingset.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/workingset.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/workingset.c linux-4.4.56/mm/workingset.c
+--- linux-4.4.56.orig/mm/workingset.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/workingset.c 2017-03-23 07:59:28.039526518 +0100
@@ -264,7 +264,8 @@
* point where they would still be useful.
*/
@@ -29987,9 +30811,9 @@ diff -Nur linux-4.4.46.orig/mm/workingset.c linux-4.4.46/mm/workingset.c
err:
return ret;
}
-diff -Nur linux-4.4.46.orig/mm/zsmalloc.c linux-4.4.46/mm/zsmalloc.c
---- linux-4.4.46.orig/mm/zsmalloc.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/mm/zsmalloc.c 2017-02-03 17:18:10.951619984 +0100
+diff -Nur linux-4.4.56.orig/mm/zsmalloc.c linux-4.4.56/mm/zsmalloc.c
+--- linux-4.4.56.orig/mm/zsmalloc.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/mm/zsmalloc.c 2017-03-23 07:59:28.039526518 +0100
@@ -64,6 +64,7 @@
#include <linux/debugfs.h>
#include <linux/zsmalloc.h>
@@ -30024,9 +30848,9 @@ diff -Nur linux-4.4.46.orig/mm/zsmalloc.c linux-4.4.46/mm/zsmalloc.c
unpin_tag(handle);
}
EXPORT_SYMBOL_GPL(zs_unmap_object);
-diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
---- linux-4.4.46.orig/net/core/dev.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/core/dev.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/core/dev.c linux-4.4.56/net/core/dev.c
+--- linux-4.4.56.orig/net/core/dev.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/core/dev.c 2017-03-23 07:59:28.039526518 +0100
@@ -186,6 +186,7 @@
static DEFINE_HASHTABLE(napi_hash, 8);
@@ -30127,7 +30951,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
}
/**
-@@ -2246,6 +2252,7 @@
+@@ -2268,6 +2274,7 @@
sd->output_queue_tailp = &q->next_sched;
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_restore(flags);
@@ -30135,7 +30959,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
}
void __netif_schedule(struct Qdisc *q)
-@@ -2327,6 +2334,7 @@
+@@ -2349,6 +2356,7 @@
__this_cpu_write(softnet_data.completion_queue, skb);
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_restore(flags);
@@ -30143,7 +30967,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
}
EXPORT_SYMBOL(__dev_kfree_skb_irq);
-@@ -2884,7 +2892,11 @@
+@@ -2906,7 +2914,11 @@
* This permits __QDISC___STATE_RUNNING owner to get the lock more
* often and dequeue packets faster.
*/
@@ -30155,7 +30979,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
if (unlikely(contended))
spin_lock(&q->busylock);
-@@ -2944,9 +2956,44 @@
+@@ -2966,9 +2978,44 @@
#define skb_update_prio(skb)
#endif
@@ -30200,7 +31024,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
#define RECURSION_LIMIT 10
/**
-@@ -3139,7 +3186,7 @@
+@@ -3161,7 +3208,7 @@
if (txq->xmit_lock_owner != cpu) {
@@ -30209,7 +31033,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
goto recursion_alert;
skb = validate_xmit_skb(skb, dev);
-@@ -3149,9 +3196,9 @@
+@@ -3171,9 +3218,9 @@
HARD_TX_LOCK(dev, txq, cpu);
if (!netif_xmit_stopped(txq)) {
@@ -30221,7 +31045,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
if (dev_xmit_complete(rc)) {
HARD_TX_UNLOCK(dev, txq);
goto out;
-@@ -3525,6 +3572,7 @@
+@@ -3547,6 +3594,7 @@
rps_unlock(sd);
local_irq_restore(flags);
@@ -30229,7 +31053,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
atomic_long_inc(&skb->dev->rx_dropped);
kfree_skb(skb);
-@@ -3543,7 +3591,7 @@
+@@ -3565,7 +3613,7 @@
struct rps_dev_flow voidflow, *rflow = &voidflow;
int cpu;
@@ -30238,7 +31062,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
rcu_read_lock();
cpu = get_rps_cpu(skb->dev, skb, &rflow);
-@@ -3553,13 +3601,13 @@
+@@ -3575,13 +3623,13 @@
ret = enqueue_to_backlog(skb, cpu, &rflow->last_qtail);
rcu_read_unlock();
@@ -30255,7 +31079,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
}
return ret;
}
-@@ -3593,16 +3641,44 @@
+@@ -3615,16 +3663,44 @@
trace_netif_rx_ni_entry(skb);
@@ -30304,7 +31128,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
static void net_tx_action(struct softirq_action *h)
{
struct softnet_data *sd = this_cpu_ptr(&softnet_data);
-@@ -3644,7 +3720,7 @@
+@@ -3666,7 +3742,7 @@
head = head->next_sched;
root_lock = qdisc_lock(q);
@@ -30313,7 +31137,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
smp_mb__before_atomic();
clear_bit(__QDISC_STATE_SCHED,
&q->state);
-@@ -4066,7 +4142,7 @@
+@@ -4088,7 +4164,7 @@
skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) {
if (skb->dev == dev) {
__skb_unlink(skb, &sd->input_pkt_queue);
@@ -30322,7 +31146,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
input_queue_head_incr(sd);
}
}
-@@ -4075,10 +4151,13 @@
+@@ -4097,10 +4173,13 @@
skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
if (skb->dev == dev) {
__skb_unlink(skb, &sd->process_queue);
@@ -30337,7 +31161,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
}
static int napi_gro_complete(struct sk_buff *skb)
-@@ -4535,6 +4614,7 @@
+@@ -4557,6 +4636,7 @@
sd->rps_ipi_list = NULL;
local_irq_enable();
@@ -30345,7 +31169,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
/* Send pending IPI's to kick RPS processing on remote cpus. */
while (remsd) {
-@@ -4548,6 +4628,7 @@
+@@ -4570,6 +4650,7 @@
} else
#endif
local_irq_enable();
@@ -30353,7 +31177,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
}
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
-@@ -4629,6 +4710,7 @@
+@@ -4651,9 +4732,11 @@
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
@@ -30361,7 +31185,41 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
}
EXPORT_SYMBOL(__napi_schedule);
-@@ -4905,7 +4987,7 @@
++#ifndef CONFIG_PREEMPT_RT_FULL
+ /**
+ * __napi_schedule_irqoff - schedule for receive
+ * @n: entry to schedule
+@@ -4665,6 +4748,7 @@
+ ____napi_schedule(this_cpu_ptr(&softnet_data), n);
+ }
+ EXPORT_SYMBOL(__napi_schedule_irqoff);
++#endif
+
+ void __napi_complete(struct napi_struct *n)
+ {
+@@ -4891,13 +4975,21 @@
+ struct softnet_data *sd = this_cpu_ptr(&softnet_data);
+ unsigned long time_limit = jiffies + 2;
+ int budget = netdev_budget;
++ struct sk_buff_head tofree_q;
++ struct sk_buff *skb;
+ LIST_HEAD(list);
+ LIST_HEAD(repoll);
+
++ __skb_queue_head_init(&tofree_q);
++
+ local_irq_disable();
++ skb_queue_splice_init(&sd->tofree_queue, &tofree_q);
+ list_splice_init(&sd->poll_list, &list);
+ local_irq_enable();
+
++ while ((skb = __skb_dequeue(&tofree_q)))
++ kfree_skb(skb);
++
+ for (;;) {
+ struct napi_struct *n;
+
+@@ -4927,7 +5019,7 @@
list_splice_tail(&repoll, &list);
list_splice(&list, &sd->poll_list);
if (!list_empty(&sd->poll_list))
@@ -30370,7 +31228,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
net_rps_action_and_irq_enable(sd);
}
-@@ -7244,7 +7326,7 @@
+@@ -7266,7 +7358,7 @@
void synchronize_net(void)
{
might_sleep();
@@ -30379,7 +31237,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
synchronize_rcu_expedited();
else
synchronize_rcu();
-@@ -7485,16 +7567,20 @@
+@@ -7507,16 +7599,20 @@
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
@@ -30401,7 +31259,7 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
return NOTIFY_OK;
}
-@@ -7796,8 +7882,9 @@
+@@ -7818,8 +7914,9 @@
for_each_possible_cpu(i) {
struct softnet_data *sd = &per_cpu(softnet_data, i);
@@ -30413,9 +31271,9 @@ diff -Nur linux-4.4.46.orig/net/core/dev.c linux-4.4.46/net/core/dev.c
INIT_LIST_HEAD(&sd->poll_list);
sd->output_queue_tailp = &sd->output_queue;
#ifdef CONFIG_RPS
-diff -Nur linux-4.4.46.orig/net/core/skbuff.c linux-4.4.46/net/core/skbuff.c
---- linux-4.4.46.orig/net/core/skbuff.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/core/skbuff.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/core/skbuff.c linux-4.4.56/net/core/skbuff.c
+--- linux-4.4.56.orig/net/core/skbuff.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/core/skbuff.c 2017-03-23 07:59:28.043526672 +0100
@@ -63,6 +63,7 @@
#include <linux/errqueue.h>
#include <linux/prefetch.h>
@@ -30511,9 +31369,9 @@ diff -Nur linux-4.4.46.orig/net/core/skbuff.c linux-4.4.46/net/core/skbuff.c
skb->pfmemalloc = 1;
skb->head_frag = 1;
-diff -Nur linux-4.4.46.orig/net/core/sock.c linux-4.4.46/net/core/sock.c
---- linux-4.4.46.orig/net/core/sock.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/core/sock.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/core/sock.c linux-4.4.56/net/core/sock.c
+--- linux-4.4.56.orig/net/core/sock.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/core/sock.c 2017-03-23 07:59:28.043526672 +0100
@@ -2436,12 +2436,11 @@
if (sk->sk_lock.owned)
__lock_sock(sk);
@@ -30528,9 +31386,9 @@ diff -Nur linux-4.4.46.orig/net/core/sock.c linux-4.4.46/net/core/sock.c
}
EXPORT_SYMBOL(lock_sock_nested);
-diff -Nur linux-4.4.46.orig/net/ipv4/icmp.c linux-4.4.46/net/ipv4/icmp.c
---- linux-4.4.46.orig/net/ipv4/icmp.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/ipv4/icmp.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/ipv4/icmp.c linux-4.4.56/net/ipv4/icmp.c
+--- linux-4.4.56.orig/net/ipv4/icmp.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/ipv4/icmp.c 2017-03-23 07:59:28.043526672 +0100
@@ -69,6 +69,7 @@
#include <linux/jiffies.h>
#include <linux/kernel.h>
@@ -30638,9 +31496,9 @@ diff -Nur linux-4.4.46.orig/net/ipv4/icmp.c linux-4.4.46/net/ipv4/icmp.c
}
/* should there be an ICMP stat for ignored echos? */
return true;
-diff -Nur linux-4.4.46.orig/net/ipv4/sysctl_net_ipv4.c linux-4.4.46/net/ipv4/sysctl_net_ipv4.c
---- linux-4.4.46.orig/net/ipv4/sysctl_net_ipv4.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/ipv4/sysctl_net_ipv4.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/ipv4/sysctl_net_ipv4.c linux-4.4.56/net/ipv4/sysctl_net_ipv4.c
+--- linux-4.4.56.orig/net/ipv4/sysctl_net_ipv4.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/ipv4/sysctl_net_ipv4.c 2017-03-23 07:59:28.043526672 +0100
@@ -818,6 +818,13 @@
.proc_handler = proc_dointvec
},
@@ -30655,9 +31513,9 @@ diff -Nur linux-4.4.46.orig/net/ipv4/sysctl_net_ipv4.c linux-4.4.46/net/ipv4/sys
.procname = "icmp_ignore_bogus_error_responses",
.data = &init_net.ipv4.sysctl_icmp_ignore_bogus_error_responses,
.maxlen = sizeof(int),
-diff -Nur linux-4.4.46.orig/net/ipv4/tcp_ipv4.c linux-4.4.46/net/ipv4/tcp_ipv4.c
---- linux-4.4.46.orig/net/ipv4/tcp_ipv4.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/ipv4/tcp_ipv4.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/ipv4/tcp_ipv4.c linux-4.4.56/net/ipv4/tcp_ipv4.c
+--- linux-4.4.56.orig/net/ipv4/tcp_ipv4.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/ipv4/tcp_ipv4.c 2017-03-23 07:59:28.043526672 +0100
@@ -62,6 +62,7 @@
#include <linux/init.h>
#include <linux/times.h>
@@ -30666,7 +31524,7 @@ diff -Nur linux-4.4.46.orig/net/ipv4/tcp_ipv4.c linux-4.4.46/net/ipv4/tcp_ipv4.c
#include <net/net_namespace.h>
#include <net/icmp.h>
-@@ -566,6 +567,7 @@
+@@ -570,6 +571,7 @@
}
EXPORT_SYMBOL(tcp_v4_send_check);
@@ -30674,7 +31532,7 @@ diff -Nur linux-4.4.46.orig/net/ipv4/tcp_ipv4.c linux-4.4.46/net/ipv4/tcp_ipv4.c
/*
* This routine will send an RST to the other tcp.
*
-@@ -687,10 +689,13 @@
+@@ -691,10 +693,13 @@
arg.bound_dev_if = sk->sk_bound_dev_if;
arg.tos = ip_hdr(skb)->tos;
@@ -30688,7 +31546,7 @@ diff -Nur linux-4.4.46.orig/net/ipv4/tcp_ipv4.c linux-4.4.46/net/ipv4/tcp_ipv4.c
TCP_INC_STATS_BH(net, TCP_MIB_OUTSEGS);
TCP_INC_STATS_BH(net, TCP_MIB_OUTRSTS);
-@@ -772,10 +777,12 @@
+@@ -776,10 +781,12 @@
if (oif)
arg.bound_dev_if = oif;
arg.tos = tos;
@@ -30701,9 +31559,9 @@ diff -Nur linux-4.4.46.orig/net/ipv4/tcp_ipv4.c linux-4.4.46/net/ipv4/tcp_ipv4.c
TCP_INC_STATS_BH(net, TCP_MIB_OUTSEGS);
}
-diff -Nur linux-4.4.46.orig/net/mac80211/rx.c linux-4.4.46/net/mac80211/rx.c
---- linux-4.4.46.orig/net/mac80211/rx.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/mac80211/rx.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/mac80211/rx.c linux-4.4.56/net/mac80211/rx.c
+--- linux-4.4.56.orig/net/mac80211/rx.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/mac80211/rx.c 2017-03-23 07:59:28.043526672 +0100
@@ -3580,7 +3580,7 @@
struct ieee80211_supported_band *sband;
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
@@ -30713,9 +31571,9 @@ diff -Nur linux-4.4.46.orig/net/mac80211/rx.c linux-4.4.46/net/mac80211/rx.c
if (WARN_ON(status->band >= IEEE80211_NUM_BANDS))
goto drop;
-diff -Nur linux-4.4.46.orig/net/netfilter/core.c linux-4.4.46/net/netfilter/core.c
---- linux-4.4.46.orig/net/netfilter/core.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/netfilter/core.c 2017-02-03 17:18:10.955620139 +0100
+diff -Nur linux-4.4.56.orig/net/netfilter/core.c linux-4.4.56/net/netfilter/core.c
+--- linux-4.4.56.orig/net/netfilter/core.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/netfilter/core.c 2017-03-23 07:59:28.043526672 +0100
@@ -22,11 +22,17 @@
#include <linux/proc_fs.h>
#include <linux/mutex.h>
@@ -30734,9 +31592,9 @@ diff -Nur linux-4.4.46.orig/net/netfilter/core.c linux-4.4.46/net/netfilter/core
static DEFINE_MUTEX(afinfo_mutex);
const struct nf_afinfo __rcu *nf_afinfo[NFPROTO_NUMPROTO] __read_mostly;
-diff -Nur linux-4.4.46.orig/net/packet/af_packet.c linux-4.4.46/net/packet/af_packet.c
---- linux-4.4.46.orig/net/packet/af_packet.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/packet/af_packet.c 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/net/packet/af_packet.c linux-4.4.56/net/packet/af_packet.c
+--- linux-4.4.56.orig/net/packet/af_packet.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/packet/af_packet.c 2017-03-23 07:59:28.043526672 +0100
@@ -63,6 +63,7 @@
#include <linux/if_packet.h>
#include <linux/wireless.h>
@@ -30763,9 +31621,9 @@ diff -Nur linux-4.4.46.orig/net/packet/af_packet.c linux-4.4.46/net/packet/af_pa
}
}
prb_close_block(pkc, pbd, po, status);
-diff -Nur linux-4.4.46.orig/net/rds/ib_rdma.c linux-4.4.46/net/rds/ib_rdma.c
---- linux-4.4.46.orig/net/rds/ib_rdma.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/rds/ib_rdma.c 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/net/rds/ib_rdma.c linux-4.4.56/net/rds/ib_rdma.c
+--- linux-4.4.56.orig/net/rds/ib_rdma.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/rds/ib_rdma.c 2017-03-23 07:59:28.043526672 +0100
@@ -34,6 +34,7 @@
#include <linux/slab.h>
#include <linux/rculist.h>
@@ -30783,9 +31641,9 @@ diff -Nur linux-4.4.46.orig/net/rds/ib_rdma.c linux-4.4.46/net/rds/ib_rdma.c
}
}
-diff -Nur linux-4.4.46.orig/net/sched/sch_generic.c linux-4.4.46/net/sched/sch_generic.c
---- linux-4.4.46.orig/net/sched/sch_generic.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/sched/sch_generic.c 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/net/sched/sch_generic.c linux-4.4.56/net/sched/sch_generic.c
+--- linux-4.4.56.orig/net/sched/sch_generic.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/sched/sch_generic.c 2017-03-23 07:59:28.043526672 +0100
@@ -893,7 +893,7 @@
/* Wait for outstanding qdisc_run calls. */
list_for_each_entry(dev, head, close_list)
@@ -30795,9 +31653,9 @@ diff -Nur linux-4.4.46.orig/net/sched/sch_generic.c linux-4.4.46/net/sched/sch_g
}
void dev_deactivate(struct net_device *dev)
-diff -Nur linux-4.4.46.orig/net/sunrpc/svc_xprt.c linux-4.4.46/net/sunrpc/svc_xprt.c
---- linux-4.4.46.orig/net/sunrpc/svc_xprt.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/net/sunrpc/svc_xprt.c 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/net/sunrpc/svc_xprt.c linux-4.4.56/net/sunrpc/svc_xprt.c
+--- linux-4.4.56.orig/net/sunrpc/svc_xprt.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/net/sunrpc/svc_xprt.c 2017-03-23 07:59:28.043526672 +0100
@@ -340,7 +340,7 @@
goto out;
}
@@ -30825,9 +31683,9 @@ diff -Nur linux-4.4.46.orig/net/sunrpc/svc_xprt.c linux-4.4.46/net/sunrpc/svc_xp
out:
trace_svc_xprt_do_enqueue(xprt, rqstp);
}
-diff -Nur linux-4.4.46.orig/scripts/mkcompile_h linux-4.4.46/scripts/mkcompile_h
---- linux-4.4.46.orig/scripts/mkcompile_h 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/scripts/mkcompile_h 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/scripts/mkcompile_h linux-4.4.56/scripts/mkcompile_h
+--- linux-4.4.56.orig/scripts/mkcompile_h 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/scripts/mkcompile_h 2017-03-23 07:59:28.043526672 +0100
@@ -4,7 +4,8 @@
ARCH=$2
SMP=$3
@@ -30846,9 +31704,9 @@ diff -Nur linux-4.4.46.orig/scripts/mkcompile_h linux-4.4.46/scripts/mkcompile_h
UTS_VERSION="$UTS_VERSION $CONFIG_FLAGS $TIMESTAMP"
# Truncate to maximum length
-diff -Nur linux-4.4.46.orig/sound/core/pcm_native.c linux-4.4.46/sound/core/pcm_native.c
---- linux-4.4.46.orig/sound/core/pcm_native.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/sound/core/pcm_native.c 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/sound/core/pcm_native.c linux-4.4.56/sound/core/pcm_native.c
+--- linux-4.4.56.orig/sound/core/pcm_native.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/sound/core/pcm_native.c 2017-03-23 07:59:28.047526824 +0100
@@ -135,7 +135,7 @@
void snd_pcm_stream_lock_irq(struct snd_pcm_substream *substream)
{
@@ -30885,9 +31743,9 @@ diff -Nur linux-4.4.46.orig/sound/core/pcm_native.c linux-4.4.46/sound/core/pcm_
}
EXPORT_SYMBOL_GPL(snd_pcm_stream_unlock_irqrestore);
-diff -Nur linux-4.4.46.orig/virt/kvm/async_pf.c linux-4.4.46/virt/kvm/async_pf.c
---- linux-4.4.46.orig/virt/kvm/async_pf.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/virt/kvm/async_pf.c 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/virt/kvm/async_pf.c linux-4.4.56/virt/kvm/async_pf.c
+--- linux-4.4.56.orig/virt/kvm/async_pf.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/virt/kvm/async_pf.c 2017-03-23 07:59:28.047526824 +0100
@@ -98,8 +98,8 @@
* This memory barrier pairs with prepare_to_wait's set_current_state()
*/
@@ -30899,9 +31757,9 @@ diff -Nur linux-4.4.46.orig/virt/kvm/async_pf.c linux-4.4.46/virt/kvm/async_pf.c
mmput(mm);
kvm_put_kvm(vcpu->kvm);
-diff -Nur linux-4.4.46.orig/virt/kvm/kvm_main.c linux-4.4.46/virt/kvm/kvm_main.c
---- linux-4.4.46.orig/virt/kvm/kvm_main.c 2017-02-01 08:31:11.000000000 +0100
-+++ linux-4.4.46/virt/kvm/kvm_main.c 2017-02-03 17:18:10.959620294 +0100
+diff -Nur linux-4.4.56.orig/virt/kvm/kvm_main.c linux-4.4.56/virt/kvm/kvm_main.c
+--- linux-4.4.56.orig/virt/kvm/kvm_main.c 2017-03-22 12:17:51.000000000 +0100
++++ linux-4.4.56/virt/kvm/kvm_main.c 2017-03-23 07:59:28.047526824 +0100
@@ -228,8 +228,7 @@
vcpu->kvm = kvm;
vcpu->vcpu_id = id;
diff --git a/target/linux/patches/4.4.50/startup.patch b/target/linux/patches/4.4.56/startup.patch
index e54ac19a6..e54ac19a6 100644
--- a/target/linux/patches/4.4.50/startup.patch
+++ b/target/linux/patches/4.4.56/startup.patch
diff --git a/target/linux/patches/4.4.50/use-libgcc-for-sh.patch b/target/linux/patches/4.4.56/use-libgcc-for-sh.patch
index 6420219b0..6420219b0 100644
--- a/target/linux/patches/4.4.50/use-libgcc-for-sh.patch
+++ b/target/linux/patches/4.4.56/use-libgcc-for-sh.patch
diff --git a/target/linux/patches/4.4.50/versatile-nommu.patch b/target/linux/patches/4.4.56/versatile-nommu.patch
index 96140b30c..96140b30c 100644
--- a/target/linux/patches/4.4.50/versatile-nommu.patch
+++ b/target/linux/patches/4.4.56/versatile-nommu.patch