From: Greg Kroah-Hartman Date: Mon, 16 Apr 2018 10:50:18 +0000 (+0200) Subject: drop a broken x86 patch X-Git-Tag: v4.16.3~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7bf92905b578e7fc042b621af3325c94b390b972;p=thirdparty%2Fkernel%2Fstable-queue.git drop a broken x86 patch --- diff --git a/queue-3.18/series b/queue-3.18/series index d725f0f15e9..73ee291b59d 100644 --- a/queue-3.18/series +++ b/queue-3.18/series @@ -1,3 +1,2 @@ media-v4l2-compat-ioctl32-don-t-oops-on-overlay.patch parisc-fix-out-of-array-access-in-match_pci_device.patch -x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch diff --git a/queue-3.18/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch b/queue-3.18/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch deleted file mode 100644 index a50ed2bc489..00000000000 --- a/queue-3.18/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 339b2ae0cd5d4a58f9efe06e4ee36adbeca59228 Mon Sep 17 00:00:00 2001 -From: Baoquan He -Date: Wed, 14 Feb 2018 13:46:53 +0800 -Subject: x86/apic: Fix restoring boot IRQ mode in reboot and kexec/kdump - -From: Baoquan He - -commit 339b2ae0cd5d4a58f9efe06e4ee36adbeca59228 upstream. - -This is a regression fix. - -Before, to fix erratum AVR31, the following commit: - - 522e66464467 ("x86/apic: Disable I/O APIC before shutdown of the local APIC") - -... moved the lapic_shutdown() call to after disable_IO_APIC() in the reboot -and kexec/kdump code paths. - -This introduced the following regression: disable_IO_APIC() not only clears -the IO-APIC, but it also restores boot IRQ mode by setting the -LAPIC/APIC/IMCR, calling lapic_shutdown() after disable_IO_APIC() will -disable LAPIC and ruin the possible virtual wire mode setting which -the code has been trying to do all along. - -The consequence is that a KVM guest kernel always prints the warning below -during kexec/kdump as the kernel boots up: - - [ 0.001000] WARNING: CPU: 0 PID: 0 at arch/x86/kernel/apic/apic.c:1467 setup_local_APIC+0x228/0x330 - [ ........] - [ 0.001000] Call Trace: - [ 0.001000] apic_bsp_setup+0x56/0x74 - [ 0.001000] x86_late_time_init+0x11/0x16 - [ 0.001000] start_kernel+0x3c9/0x486 - [ 0.001000] secondary_startup_64+0xa5/0xb0 - [ ........] - [ 0.001000] masked ExtINT on CPU#0 - -To fix this, just call clear_IO_APIC() to stop the IO-APIC where -disable_IO_APIC() was called, and call restore_boot_irq_mode() to -restore boot IRQ mode before a reboot or a kexec/kdump jump. - -Signed-off-by: Baoquan He -Reviewed-by: Eric W. Biederman -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: douly.fnst@cn.fujitsu.com -Cc: joro@8bytes.org -Cc: prarit@redhat.com -Cc: stable@vger.kernel.org -Cc: uobergfe@redhat.com -Fixes: commit 522e66464467 ("x86/apic: Disable I/O APIC before shutdown of the local APIC") -Link: http://lkml.kernel.org/r/20180214054656.3780-4-bhe@redhat.com -[ Rewrote the changelog. ] -Signed-off-by: Ingo Molnar -Signed-off-by: Greg Kroah-Hartman - ---- - arch/x86/kernel/crash.c | 3 ++- - arch/x86/kernel/reboot.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - ---- a/arch/x86/kernel/crash.c -+++ b/arch/x86/kernel/crash.c -@@ -173,9 +173,10 @@ void native_machine_crash_shutdown(struc - #ifdef CONFIG_X86_IO_APIC - /* Prevent crash_kexec() from deadlocking on ioapic_lock. */ - ioapic_zap_locks(); -- disable_IO_APIC(); -+ clear_IO_APIC(); - #endif - lapic_shutdown(); -+ restore_boot_irq_mode(); - #ifdef CONFIG_HPET_TIMER - hpet_disable(); - #endif ---- a/arch/x86/kernel/reboot.c -+++ b/arch/x86/kernel/reboot.c -@@ -606,7 +606,7 @@ void native_machine_shutdown(void) - * Even without the erratum, it still makes sense to quiet IO APIC - * before disabling Local APIC. - */ -- disable_IO_APIC(); -+ clear_IO_APIC(); - #endif - - #ifdef CONFIG_SMP -@@ -620,6 +620,7 @@ void native_machine_shutdown(void) - #endif - - lapic_shutdown(); -+ restore_boot_irq_mode(); - - #ifdef CONFIG_HPET_TIMER - hpet_disable(); diff --git a/queue-4.4/series b/queue-4.4/series index da1f8b04fda..23cd9513d3a 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -5,4 +5,3 @@ perf-intel-pt-fix-sync_switch.patch perf-intel-pt-fix-error-recovery-from-missing-tip-packet.patch perf-intel-pt-fix-timestamp-following-overflow.patch radeon-hide-pointless-warning-when-compile-testing.patch -x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch diff --git a/queue-4.4/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch b/queue-4.4/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch deleted file mode 100644 index 0437bcb2b8e..00000000000 --- a/queue-4.4/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 339b2ae0cd5d4a58f9efe06e4ee36adbeca59228 Mon Sep 17 00:00:00 2001 -From: Baoquan He -Date: Wed, 14 Feb 2018 13:46:53 +0800 -Subject: x86/apic: Fix restoring boot IRQ mode in reboot and kexec/kdump - -From: Baoquan He - -commit 339b2ae0cd5d4a58f9efe06e4ee36adbeca59228 upstream. - -This is a regression fix. - -Before, to fix erratum AVR31, the following commit: - - 522e66464467 ("x86/apic: Disable I/O APIC before shutdown of the local APIC") - -... moved the lapic_shutdown() call to after disable_IO_APIC() in the reboot -and kexec/kdump code paths. - -This introduced the following regression: disable_IO_APIC() not only clears -the IO-APIC, but it also restores boot IRQ mode by setting the -LAPIC/APIC/IMCR, calling lapic_shutdown() after disable_IO_APIC() will -disable LAPIC and ruin the possible virtual wire mode setting which -the code has been trying to do all along. - -The consequence is that a KVM guest kernel always prints the warning below -during kexec/kdump as the kernel boots up: - - [ 0.001000] WARNING: CPU: 0 PID: 0 at arch/x86/kernel/apic/apic.c:1467 setup_local_APIC+0x228/0x330 - [ ........] - [ 0.001000] Call Trace: - [ 0.001000] apic_bsp_setup+0x56/0x74 - [ 0.001000] x86_late_time_init+0x11/0x16 - [ 0.001000] start_kernel+0x3c9/0x486 - [ 0.001000] secondary_startup_64+0xa5/0xb0 - [ ........] - [ 0.001000] masked ExtINT on CPU#0 - -To fix this, just call clear_IO_APIC() to stop the IO-APIC where -disable_IO_APIC() was called, and call restore_boot_irq_mode() to -restore boot IRQ mode before a reboot or a kexec/kdump jump. - -Signed-off-by: Baoquan He -Reviewed-by: Eric W. Biederman -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: douly.fnst@cn.fujitsu.com -Cc: joro@8bytes.org -Cc: prarit@redhat.com -Cc: stable@vger.kernel.org -Cc: uobergfe@redhat.com -Fixes: commit 522e66464467 ("x86/apic: Disable I/O APIC before shutdown of the local APIC") -Link: http://lkml.kernel.org/r/20180214054656.3780-4-bhe@redhat.com -[ Rewrote the changelog. ] -Signed-off-by: Ingo Molnar -Signed-off-by: Greg Kroah-Hartman - ---- - arch/x86/kernel/crash.c | 3 ++- - arch/x86/kernel/reboot.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - ---- a/arch/x86/kernel/crash.c -+++ b/arch/x86/kernel/crash.c -@@ -172,9 +172,10 @@ void native_machine_crash_shutdown(struc - #ifdef CONFIG_X86_IO_APIC - /* Prevent crash_kexec() from deadlocking on ioapic_lock. */ - ioapic_zap_locks(); -- disable_IO_APIC(); -+ clear_IO_APIC(); - #endif - lapic_shutdown(); -+ restore_boot_irq_mode(); - #ifdef CONFIG_HPET_TIMER - hpet_disable(); - #endif ---- a/arch/x86/kernel/reboot.c -+++ b/arch/x86/kernel/reboot.c -@@ -619,7 +619,7 @@ void native_machine_shutdown(void) - * Even without the erratum, it still makes sense to quiet IO APIC - * before disabling Local APIC. - */ -- disable_IO_APIC(); -+ clear_IO_APIC(); - #endif - - #ifdef CONFIG_SMP -@@ -633,6 +633,7 @@ void native_machine_shutdown(void) - #endif - - lapic_shutdown(); -+ restore_boot_irq_mode(); - - #ifdef CONFIG_HPET_TIMER - hpet_disable(); diff --git a/queue-4.9/series b/queue-4.9/series index 6da36037b43..ffbd0206855 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -7,4 +7,3 @@ perf-intel-pt-fix-error-recovery-from-missing-tip-packet.patch perf-intel-pt-fix-timestamp-following-overflow.patch perf-core-fix-use-after-free-in-uprobe_perf_close.patch radeon-hide-pointless-warning-when-compile-testing.patch -x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch diff --git a/queue-4.9/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch b/queue-4.9/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch deleted file mode 100644 index 21a96c8d59d..00000000000 --- a/queue-4.9/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch +++ /dev/null @@ -1,95 +0,0 @@ -From 339b2ae0cd5d4a58f9efe06e4ee36adbeca59228 Mon Sep 17 00:00:00 2001 -From: Baoquan He -Date: Wed, 14 Feb 2018 13:46:53 +0800 -Subject: x86/apic: Fix restoring boot IRQ mode in reboot and kexec/kdump - -From: Baoquan He - -commit 339b2ae0cd5d4a58f9efe06e4ee36adbeca59228 upstream. - -This is a regression fix. - -Before, to fix erratum AVR31, the following commit: - - 522e66464467 ("x86/apic: Disable I/O APIC before shutdown of the local APIC") - -... moved the lapic_shutdown() call to after disable_IO_APIC() in the reboot -and kexec/kdump code paths. - -This introduced the following regression: disable_IO_APIC() not only clears -the IO-APIC, but it also restores boot IRQ mode by setting the -LAPIC/APIC/IMCR, calling lapic_shutdown() after disable_IO_APIC() will -disable LAPIC and ruin the possible virtual wire mode setting which -the code has been trying to do all along. - -The consequence is that a KVM guest kernel always prints the warning below -during kexec/kdump as the kernel boots up: - - [ 0.001000] WARNING: CPU: 0 PID: 0 at arch/x86/kernel/apic/apic.c:1467 setup_local_APIC+0x228/0x330 - [ ........] - [ 0.001000] Call Trace: - [ 0.001000] apic_bsp_setup+0x56/0x74 - [ 0.001000] x86_late_time_init+0x11/0x16 - [ 0.001000] start_kernel+0x3c9/0x486 - [ 0.001000] secondary_startup_64+0xa5/0xb0 - [ ........] - [ 0.001000] masked ExtINT on CPU#0 - -To fix this, just call clear_IO_APIC() to stop the IO-APIC where -disable_IO_APIC() was called, and call restore_boot_irq_mode() to -restore boot IRQ mode before a reboot or a kexec/kdump jump. - -Signed-off-by: Baoquan He -Reviewed-by: Eric W. Biederman -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -Cc: douly.fnst@cn.fujitsu.com -Cc: joro@8bytes.org -Cc: prarit@redhat.com -Cc: stable@vger.kernel.org -Cc: uobergfe@redhat.com -Fixes: commit 522e66464467 ("x86/apic: Disable I/O APIC before shutdown of the local APIC") -Link: http://lkml.kernel.org/r/20180214054656.3780-4-bhe@redhat.com -[ Rewrote the changelog. ] -Signed-off-by: Ingo Molnar -Signed-off-by: Greg Kroah-Hartman - ---- - arch/x86/kernel/crash.c | 3 ++- - arch/x86/kernel/reboot.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - ---- a/arch/x86/kernel/crash.c -+++ b/arch/x86/kernel/crash.c -@@ -198,9 +198,10 @@ void native_machine_crash_shutdown(struc - #ifdef CONFIG_X86_IO_APIC - /* Prevent crash_kexec() from deadlocking on ioapic_lock. */ - ioapic_zap_locks(); -- disable_IO_APIC(); -+ clear_IO_APIC(); - #endif - lapic_shutdown(); -+ restore_boot_irq_mode(); - #ifdef CONFIG_HPET_TIMER - hpet_disable(); - #endif ---- a/arch/x86/kernel/reboot.c -+++ b/arch/x86/kernel/reboot.c -@@ -665,7 +665,7 @@ void native_machine_shutdown(void) - * Even without the erratum, it still makes sense to quiet IO APIC - * before disabling Local APIC. - */ -- disable_IO_APIC(); -+ clear_IO_APIC(); - #endif - - #ifdef CONFIG_SMP -@@ -679,6 +679,7 @@ void native_machine_shutdown(void) - #endif - - lapic_shutdown(); -+ restore_boot_irq_mode(); - - #ifdef CONFIG_HPET_TIMER - hpet_disable();