[PATCH v3 1/3] init/main.c: Give init_task a canary
Michael Ellerman
mpe at ellerman.id.au
Fri Sep 12 17:28:56 EST 2014
On Thu, 2014-09-11 at 16:41 +0100, Aaron Tomlin wrote:
> Tasks get their end of stack set to STACK_END_MAGIC with the
> aim to catch stack overruns. Currently this feature does not
> apply to init_task. This patch removes this restriction.
>
> diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c
> index 51ab9e7..35d0760c 100644
> --- a/arch/powerpc/mm/fault.c
> +++ b/arch/powerpc/mm/fault.c
> @@ -30,7 +30,6 @@
> #include <linux/kprobes.h>
> #include <linux/kdebug.h>
> #include <linux/perf_event.h>
> -#include <linux/magic.h>
> #include <linux/ratelimit.h>
> #include <linux/context_tracking.h>
>
> @@ -538,7 +537,7 @@ void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig)
> regs->nip);
>
> stackend = end_of_stack(current);
> - if (current != &init_task && *stackend != STACK_END_MAGIC)
> + if (*stackend != STACK_END_MAGIC)
> printk(KERN_ALERT "Thread overran stack, or stack corrupted\n");
This part looks fine.
Acked-by: Michael Ellerman <mpe at ellerman.id.au>
cheers
More information about the Linuxppc-dev
mailing list