Skip to contentSkip to conversation

stack overflow safe kdump (2.6.18-rc1-i386) - ipi_use_safe_smp_processor_id

PATCH In review Fernando Luis Vázquez Cao 1 participant 1 message Jul 10, 2006

lore
Share & tools
lore
#0 lore raw

PATCH 3/3 stack overflow safe kdump (2.6.18-rc1-i386) - ipi_use_safe_smp_processor_id

Substitute "smp_processor_id" with the stack overflow-safe "safe_smp_processor_id" in the send IPI functions, since they are used after a crash to shutdown CPUs.

---

include/asm-i386/mach-bigsmp/mach_ipi.h +1 -1
diff -urNp linux-2.6.18-rc1/include/asm-i386/mach-bigsmp/mach_ipi.h linux-2.6.18-rc1-sof/include/asm-i386/mach-bigsmp/mach_ipi.h
@@ -11,7 +11,7 @@ static inline void send_IPI_mask(cpumask
 static inline void send_IPI_allbutself(int vector)
 {
 	cpumask_t mask = cpu_online_map;
-	cpu_clear(smp_processor_id(), mask);
+	cpu_clear(safe_smp_processor_id(), mask);
 
 	if (!cpus_empty(mask))
 		send_IPI_mask(mask, vector);
include/asm-i386/mach-default/mach_ipi.h +1 -1
diff -urNp linux-2.6.18-rc1/include/asm-i386/mach-default/mach_ipi.h linux-2.6.18-rc1-sof/include/asm-i386/mach-default/mach_ipi.h
@@ -19,7 +19,7 @@ static inline void __local_send_IPI_allb
 	if (no_broadcast || vector == NMI_VECTOR) {
 		cpumask_t mask = cpu_online_map;
 
-		cpu_clear(smp_processor_id(), mask);
+		cpu_clear(safe_smp_processor_id(), mask);
 		send_IPI_mask(mask, vector);
 	} else
 		__send_IPI_shortcut(APIC_DEST_ALLBUT, vector);
include/asm-i386/mach-es7000/mach_ipi.h +1 -1
diff -urNp linux-2.6.18-rc1/include/asm-i386/mach-es7000/mach_ipi.h linux-2.6.18-rc1-sof/include/asm-i386/mach-es7000/mach_ipi.h
@@ -11,7 +11,7 @@ static inline void send_IPI_mask(cpumask
 static inline void send_IPI_allbutself(int vector)
 {
 	cpumask_t mask = cpu_online_map;
-	cpu_clear(smp_processor_id(), mask);
+	cpu_clear(safe_smp_processor_id(), mask);
 	if (!cpus_empty(mask))
 		send_IPI_mask(mask, vector);
 }
include/asm-i386/mach-numaq/mach_ipi.h +1 -1
diff -urNp linux-2.6.18-rc1/include/asm-i386/mach-numaq/mach_ipi.h linux-2.6.18-rc1-sof/include/asm-i386/mach-numaq/mach_ipi.h
@@ -11,7 +11,7 @@ static inline void send_IPI_mask(cpumask
 static inline void send_IPI_allbutself(int vector)
 {
 	cpumask_t mask = cpu_online_map;
-	cpu_clear(smp_processor_id(), mask);
+	cpu_clear(safe_smp_processor_id(), mask);
 
 	if (!cpus_empty(mask))
 		send_IPI_mask(mask, vector);
include/asm-i386/mach-summit/mach_ipi.h +1 -1
diff -urNp linux-2.6.18-rc1/include/asm-i386/mach-summit/mach_ipi.h linux-2.6.18-rc1-sof/include/asm-i386/mach-summit/mach_ipi.h
@@ -11,7 +11,7 @@ static inline void send_IPI_mask(cpumask
 static inline void send_IPI_allbutself(int vector)
 {
 	cpumask_t mask = cpu_online_map;
-	cpu_clear(smp_processor_id(), mask);
+	cpu_clear(safe_smp_processor_id(), mask);
 
 	if (!cpus_empty(mask))
 		send_IPI_mask(mask, vector);