From e0d82cca1e037fda25b8629a9474080238395f57 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven Date: Mon, 12 May 2008 15:44:31 +0200 Subject: [PATCH] --- yaml --- r: 136346 b: refs/heads/master c: ce22bd92cba0958e052cb1ce0f89f1d3a02b60a7 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/process_64.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 03e934b61dae..4e241647dc2e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e00320875d0cc5f8099a7227b2f25fbb3231268d +refs/heads/master: ce22bd92cba0958e052cb1ce0f89f1d3a02b60a7 diff --git a/trunk/arch/x86/kernel/process_64.c b/trunk/arch/x86/kernel/process_64.c index d8640388039e..9e69e223023e 100644 --- a/trunk/arch/x86/kernel/process_64.c +++ b/trunk/arch/x86/kernel/process_64.c @@ -146,6 +146,15 @@ static inline void play_dead(void) void cpu_idle(void) { current_thread_info()->status |= TS_POLLING; + +#ifdef CONFIG_CC_STACKPROTECTOR + /* + * If we're the non-boot CPU, nothing set the PDA stack + * canary up for us. This is as good a place as any for + * doing that. + */ + write_pda(stack_canary, current->stack_canary); +#endif /* endless idle loop with no priority at all */ while (1) { tick_nohz_stop_sched_tick();