aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/reboot.c
diff options
context:
space:
mode:
authorEduardo Habkost <ehabkost@redhat.com>2008-11-12 11:34:44 -0200
committerIngo Molnar <mingo@elte.hu>2008-11-12 18:55:49 +0100
commitc415b3dce30dfb41234e118662e8720f47343a4f (patch)
tree0bca0f5e8356c96c3f4de5898023a3ef0636057a /arch/x86/kernel/reboot.c
parentx86: make nmi_shootdown_cpus() available on !SMP and !X86_LOCAL_APIC (diff)
downloadlinux-dev-c415b3dce30dfb41234e118662e8720f47343a4f.tar.xz
linux-dev-c415b3dce30dfb41234e118662e8720f47343a4f.zip
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>
Diffstat (limited to 'arch/x86/kernel/reboot.c')
-rw-r--r--arch/x86/kernel/reboot.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index 17a41e055565..c3cd512484e5 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();