Prev: printk,kdb: capture printk() when in kdb shell
Next: [PATCH 2/9] x86: Move pci init function to x86_init
From: Pan, Jacob jun on 12 Feb 2010 20:50 From 0d84c04b845a36cf43aaa14c175ef10ff5e50480 Mon Sep 17 00:00:00 2001 From: Jacob Pan <jacob.jun.pan(a)intel.com> Date: Thu, 17 Sep 2009 07:36:43 -0700 Subject: [PATCH 6/9] x86: initialize stack canary in secondary start some secondary clockevent setup code needs to call request_irq, which will cause fake stack check failure in schedule() if voluntary preemption model is chosen, it is safe to have stack canary initialized here early, since start_secondary() does not return. Signed-off-by: Jacob Pan <jacob.jun.pan(a)intel.com> --- arch/x86/kernel/smpboot.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index 678d0b8..56ce974 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -48,6 +48,7 @@ #include <linux/err.h> #include <linux/nmi.h> #include <linux/tboot.h> +#include <linux/stackprotector.h> #include <asm/acpi.h> #include <asm/desc.h> @@ -324,6 +325,9 @@ notrace static void __cpuinit start_secondary(void *unused) /* enable local interrupts */ local_irq_enable(); + /* to prevent fake stack check failure in clock setup */ + boot_init_stack_canary(); + x86_cpuinit.setup_percpu_clockev(); wmb(); -- 1.6.5.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |