From 0a9c3ee7692fa20670986bcf550950e88ab9b4cc Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Wed, 11 Jan 2006 22:46:54 +0100 Subject: [PATCH] [PATCH] x86_64: Use safe_smp_processor_id in MCE handler hard_smp_processor_id would return the local APIC id instead of the Linux processor id. On big systems they are often not identical. safe_smp_processor_id is just a wrapper around it that does the necessary conversions. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds --- arch/x86_64/kernel/mce.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index b8f28ebdce..13a2eada6c 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c @@ -24,6 +24,7 @@ #include #include #include +#include #define MISC_MCELOG_MINOR 227 #define NR_BANKS 6 @@ -178,7 +179,7 @@ void do_machine_check(struct pt_regs * regs, long error_code) return; memset(&m, 0, sizeof(struct mce)); - m.cpu = hard_smp_processor_id(); + m.cpu = safe_smp_processor_id(); rdmsrl(MSR_IA32_MCG_STATUS, m.mcgstatus); if (!(m.mcgstatus & MCG_STATUS_RIPV)) kill_it = 1; -- 2.39.5