Substitute "smp_processor_id" with the stack overflow-safe
"safe_smp_processor_id" in the reboot path to the second kernel.
---
diff -urNp linux-2.6.15/arch/i386/kernel/crash.c
linux-2.6.15-sov/arch/i386/kernel/crash.c
--- linux-2.6.15/arch/i386/kernel/crash.c 2006-01-03 12:21:10.000000000
+0900
+++ linux-2.6.15-sov/arch/i386/kernel/crash.c 2006-01-16
20:28:31.000000000 +0900
@@ -120,7 +120,7 @@ static void crash_save_self(struct pt_re
struct pt_regs regs;
int cpu;
- cpu = smp_processor_id();
+ cpu = safe_smp_processor_id();
if (saved_regs)
crash_setup_regs(®s, saved_regs);
else
@@ -211,7 +211,7 @@ void machine_crash_shutdown(struct pt_re
local_irq_disable();
/* Make a note of crashing cpu. Will be used in NMI callback.*/
- crashing_cpu = smp_processor_id();
+ crashing_cpu = safe_smp_processor_id();
nmi_shootdown_cpus();
lapic_shutdown();
#if defined(CONFIG_X86_IO_APIC)
On Mon, Jan 16, 2006 at 10:23:53PM +0900, Fernando Luis Vazquez Cao wrote:
> Substitute "smp_processor_id" with the stack overflow-safe
> "safe_smp_processor_id" in the reboot path to the second kernel.
>
Acked-by: Vivek Goyal <[email protected]>
> ---
> diff -urNp linux-2.6.15/arch/i386/kernel/crash.c
> linux-2.6.15-sov/arch/i386/kernel/crash.c
> --- linux-2.6.15/arch/i386/kernel/crash.c 2006-01-03 12:21:10.000000000
> +0900
> +++ linux-2.6.15-sov/arch/i386/kernel/crash.c 2006-01-16
> 20:28:31.000000000 +0900
> @@ -120,7 +120,7 @@ static void crash_save_self(struct pt_re
> struct pt_regs regs;
> int cpu;
>
> - cpu = smp_processor_id();
> + cpu = safe_smp_processor_id();
> if (saved_regs)
> crash_setup_regs(®s, saved_regs);
> else
> @@ -211,7 +211,7 @@ void machine_crash_shutdown(struct pt_re
> local_irq_disable();
>
> /* Make a note of crashing cpu. Will be used in NMI callback.*/
> - crashing_cpu = smp_processor_id();
> + crashing_cpu = safe_smp_processor_id();
> nmi_shootdown_cpus();
> lapic_shutdown();
> #if defined(CONFIG_X86_IO_APIC)
>
>