[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091121103104.GD2412@hack>
Date: Sat, 21 Nov 2009 18:31:04 +0800
From: Américo Wang <xiyou.wangcong@...il.com>
To: Jan Beulich <JBeulich@...ell.com>
Cc: mingo@...e.hu, tglx@...utronix.de, hpa@...or.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86: suppress stack overrun message for init_task
On Fri, Nov 20, 2009 at 02:00:14PM +0000, Jan Beulich wrote:
>init_task doesn't get its stack end location set to STACK_END_MAGIC,
>and hence the message is confusing rather than helpful in this case.
>
>Signed-off-by: Jan Beulich <jbeulich@...ell.com>
>
How about the patch below? It is totally untested. ;)
-------------->
init process should also write STACK_END_MAGIC to the
end of its stack.
Signed-off-by: WANG Cong <xiyou.wangcong@...il.com>
----
diff --git a/init/main.c b/init/main.c
index 5988deb..5a8f1b9 100644
--- a/init/main.c
+++ b/init/main.c
@@ -69,6 +69,7 @@
#include <linux/kmemtrace.h>
#include <linux/sfi.h>
#include <linux/shmem_fs.h>
+#include <linux/magic.h>
#include <trace/boot.h>
#include <asm/io.h>
@@ -798,7 +799,9 @@ static void __init do_pre_smp_initcalls(void)
static void run_init_process(char *init_filename)
{
+ unsigned long *stack_end = end_of_stack(&init_task);
argv_init[0] = init_filename;
+ *stack_end = STACK_END_MAGIC;
kernel_execve(init_filename, argv_init, envp_init);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists