[PATCH 4/4] stack overflow safe kdump (2.6.18-rc1-i386) -safe_smp_send_nmi_allbutself

From: Fernando Luis Vázquez Cao
Date: Tue Jul 11 2006 - 02:04:37 EST


Re-implement smp_send_nmi_allbutself so that calls to smp_processor_id
(through send_IPI_allbutself) can be replaced with safe_smp_processor_id
without affecting other parts of the kernel (as suggested by Eric Biederman).

Signed-off-by: Fernando Vazquez <fernando@xxxxxxxxxxxxxxxxx>
---

diff -urNp linux-2.6.18-rc1/arch/i386/kernel/crash.c linux-2.6.18-rc1-sof/arch/i386/kernel/crash.c
--- linux-2.6.18-rc1/arch/i386/kernel/crash.c 2006-07-11 14:14:04.000000000 +0900
+++ linux-2.6.18-rc1-sof/arch/i386/kernel/crash.c 2006-07-11 14:15:49.000000000 +0900
@@ -122,7 +122,10 @@ static int crash_nmi_callback(struct pt_

static void smp_send_nmi_allbutself(void)
{
- send_IPI_allbutself(NMI_VECTOR);
+ cpumask_t mask = cpu_online_map;
+ cpu_clear(safe_smp_processor_id(), mask);
+ if (!cpus_empty(mask))
+ send_IPI_mask(mask, NMI_VECTOR);
}

static void nmi_shootdown_cpus(void)


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/