From: Eduardo Habkost <ehabkost@redhat.com> Date: Wed, 12 Nov 2008 13:34:44 +0000 (-0200) Subject: x86: disable IRQs before doing anything on nmi_shootdown_cpus() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=c415b3dce30dfb41234e118662e8720f47343a4f;p=linux.git x86: disable IRQs before doing anything on nmi_shootdown_cpus() Impact: make nmi_shootdown_cpus() callable from preemptible context We need to know on which CPU we are running on, and we don't want to be preempted while doing this. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index 17a41e0555655..c3cd512484e58 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c @@ -577,6 +577,7 @@ static struct notifier_block crash_nmi_nb = { void nmi_shootdown_cpus(nmi_shootdown_cb callback) { unsigned long msecs; + local_irq_disable(); /* Make a note of crashing cpu. Will be used in NMI callback.*/ crashing_cpu = safe_smp_processor_id();