From: Greg Kroah-Hartman Date: Mon, 16 Apr 2018 10:50:34 +0000 (+0200) Subject: drop a broken x86 patch X-Git-Tag: v4.16.3~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c18106610a09abed3fed7d76c455bbf3ca4f96bb;p=thirdparty%2Fkernel%2Fstable-queue.git drop a broken x86 patch --- diff --git a/queue-4.14/series b/queue-4.14/series index b9891e0ae3c..2087ab3447d 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -18,7 +18,6 @@ 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 x86-mce-amd-define-a-function-to-get-smca-bank-type.patch x86-mce-report-only-dram-ecc-as-memory-errors-on-amd-systems.patch x86-mce-amd-pass-the-bank-number-to-smca_get_bank_type.patch diff --git a/queue-4.14/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch b/queue-4.14/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch deleted file mode 100644 index 3cc16450f71..00000000000 --- a/queue-4.14/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 -@@ -199,9 +199,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 -@@ -666,7 +666,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 -@@ -680,6 +680,7 @@ void native_machine_shutdown(void) - #endif - - lapic_shutdown(); -+ restore_boot_irq_mode(); - - #ifdef CONFIG_HPET_TIMER - hpet_disable(); diff --git a/queue-4.16/series b/queue-4.16/series index f58802b4b9c..d30432a9257 100644 --- a/queue-4.16/series +++ b/queue-4.16/series @@ -25,7 +25,6 @@ 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 x86-mce-amd-pass-the-bank-number-to-smca_get_bank_type.patch x86-mce-amd-edac-mce_amd-enumerate-reserved-smca-bank-type.patch x86-mce-amd-get-address-from-already-initialized-block.patch diff --git a/queue-4.16/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch b/queue-4.16/x86-apic-fix-restoring-boot-irq-mode-in-reboot-and-kexec-kdump.patch deleted file mode 100644 index 3cc16450f71..00000000000 --- a/queue-4.16/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 -@@ -199,9 +199,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 -@@ -666,7 +666,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 -@@ -680,6 +680,7 @@ void native_machine_shutdown(void) - #endif - - lapic_shutdown(); -+ restore_boot_irq_mode(); - - #ifdef CONFIG_HPET_TIMER - hpet_disable();