Messages in this thread | | | Date | Mon, 23 Nov 2009 08:41:32 +0000 | From | "Jan Beulich" <> | Subject | Re: [PATCH] x86: suppress stack overrun message for init_task |
| |
>>> AméricoWang <xiyou.wangcong@gmail.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@novell.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@gmail.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |