[<prev] [next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1610292232290.4989@nanos>
Date: Sat, 29 Oct 2016 22:37:45 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Linus Torvalds <torvalds@...ux-foundation.org>
cc: LKML <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Ingo Molnar <mingo@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>
Subject: [GIT pull] x86 fix for 4.9
Linus,
please pull the latest x86-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus
A single bugfix for the recent changes related to registering the boot cpu
when this has not happened before prefill_possible_map(). The main problem
with this change got fixed already, but we missed the case where the local
APIC is not yet mapped, when prefill_possible_map() is invoked, so the
registration of the boot cpu which has the APIC bit set in CPUID will
explode.
I should have seen that issue earlier, but all I can do now is feeling
embarassed.
Thanks,
tglx
------------------>
Thomas Gleixner (1):
x86/smpboot: Init apic mapping before usage
arch/x86/kernel/setup.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index bbfbca5fea0c..9c337b0e8ba7 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -1221,11 +1221,16 @@ void __init setup_arch(char **cmdline_p)
*/
get_smp_config();
+ /*
+ * Systems w/o ACPI and mptables might not have it mapped the local
+ * APIC yet, but prefill_possible_map() might need to access it.
+ */
+ init_apic_mappings();
+
prefill_possible_map();
init_cpu_to_node();
- init_apic_mappings();
io_apic_init_mappings();
kvm_guest_init();
Powered by blists - more mailing lists