[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <4B0A58CC02000078000215CB@vpn.id2.novell.com>
Date: Mon, 23 Nov 2009 08:41:32 +0000
From: "Jan Beulich" <JBeulich@...ell.com>
To: "AméricoWang" <xiyou.wangcong@...il.com>
Cc: <mingo@...e.hu>, <tglx@...utronix.de>,
<linux-kernel@...r.kernel.org>, <hpa@...or.com>
Subject: Re: [PATCH] x86: suppress stack overrun message for init_task
>>> AméricoWang <xiyou.wangcong@...il.com> 21.11.09 11:31 >>>
>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.
This seems way too late to me - in order to avoid any false reports, it
would really need to be part of INIT_TASK() I believe, but I didn't find
a way to make it so.
Jan
>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