diff options
-rw-r--r-- | mk/kernel-ver.mk | 4 | ||||
-rw-r--r-- | target/config/Config.in.kernelversion | 2 | ||||
-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 ¤t_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 |