From: Al Viro Signed-off-by: Al Viro Signed-off-by: Andrew Morton --- arch/sh64/kernel/process.c | 4 ++-- arch/sh64/lib/dbg.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff -puN arch/sh64/kernel/process.c~sh64-task_stack_page arch/sh64/kernel/process.c --- devel/arch/sh64/kernel/process.c~sh64-task_stack_page 2006-01-04 22:02:51.000000000 -0800 +++ devel-akpm/arch/sh64/kernel/process.c 2006-01-04 22:02:51.000000000 -0800 @@ -744,7 +744,7 @@ int copy_thread(int nr, unsigned long cl } #endif /* Copy from sh version */ - childregs = ((struct pt_regs *)(THREAD_SIZE + (unsigned long) p->thread_info )) - 1; + childregs = (struct pt_regs *)(THREAD_SIZE + task_stack_page(p)) - 1; *childregs = *regs; @@ -752,7 +752,7 @@ int copy_thread(int nr, unsigned long cl childregs->regs[15] = usp; p->thread.uregs = childregs; } else { - childregs->regs[15] = (unsigned long)p->thread_info + THREAD_SIZE; + childregs->regs[15] = (unsigned long)task_stack_page(p) + THREAD_SIZE; } childregs->regs[9] = 0; /* Set return value for child */ diff -puN arch/sh64/lib/dbg.c~sh64-task_stack_page arch/sh64/lib/dbg.c --- devel/arch/sh64/lib/dbg.c~sh64-task_stack_page 2006-01-04 22:02:51.000000000 -0800 +++ devel-akpm/arch/sh64/lib/dbg.c 2006-01-04 22:02:51.000000000 -0800 @@ -174,7 +174,7 @@ void evt_debug(int evt, int ret_addr, in struct ring_node *rr; pid = current->pid; - stack_bottom = (unsigned long) current->thread_info; + stack_bottom = (unsigned long) task_stack_page(current); asm volatile("ori r15, 0, %0" : "=r" (sp)); rr = event_ring + event_ptr; rr->evt = evt; _