[PATCH] x86: remove redundant stack canary initialization

From: Jacob Pan
Date: Fri Feb 26 2010 - 13:26:51 EST


After we moved boot_init_stack_canary to the secondary CPU start code, there is
no need to do this again in cpu_idle(). Stack canary are initialized earlier than
cpu_idle() for both boot and secondary CPUs.

This is suggested by Thomas Gleixner in http://lkml.org/lkml/2010/2/20/14

Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
---
arch/x86/kernel/process_32.c | 10 ----------
arch/x86/kernel/process_64.c | 10 ----------
2 files changed, 0 insertions(+), 20 deletions(-)

diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
index 37ad1e0..6dae5bf 100644
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@ -9,7 +9,6 @@
* This file handles the architecture-dependent parts of process handling..
*/

-#include <linux/stackprotector.h>
#include <linux/cpu.h>
#include <linux/errno.h>
#include <linux/sched.h>
@@ -85,15 +84,6 @@ void cpu_idle(void)
{
int cpu = smp_processor_id();

- /*
- * If we're the non-boot CPU, nothing set the stack canary up
- * for us. CPU0 already has it initialized but no harm in
- * doing it again. This is a good place for updating it, as
- * we wont ever return from this function (so the invalid
- * canaries already on the stack wont ever trigger).
- */
- boot_init_stack_canary();
-
current_thread_info()->status |= TS_POLLING;

/* endless idle loop with no priority at all */
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index 41a26a8..68ecec1 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -14,7 +14,6 @@
* This file handles the architecture-dependent parts of process handling..
*/

-#include <linux/stackprotector.h>
#include <linux/cpu.h>
#include <linux/errno.h>
#include <linux/sched.h>
@@ -110,15 +109,6 @@ void cpu_idle(void)
{
current_thread_info()->status |= TS_POLLING;

- /*
- * If we're the non-boot CPU, nothing set the stack canary up
- * for us. CPU0 already has it initialized but no harm in
- * doing it again. This is a good place for updating it, as
- * we wont ever return from this function (so the invalid
- * canaries already on the stack wont ever trigger).
- */
- boot_init_stack_canary();
-
/* endless idle loop with no priority at all */
while (1) {
tick_nohz_stop_sched_tick(1);
--
1.5.6.5

--
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/