diff options
Diffstat (limited to 'arch/arm/kernel/process.c')
| -rw-r--r-- | arch/arm/kernel/process.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 46d0984b44ff..91d107d33c8d 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
| @@ -355,10 +355,9 @@ int | |||
| 355 | copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start, | 355 | copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start, |
| 356 | unsigned long stk_sz, struct task_struct *p, struct pt_regs *regs) | 356 | unsigned long stk_sz, struct task_struct *p, struct pt_regs *regs) |
| 357 | { | 357 | { |
| 358 | struct thread_info *thread = p->thread_info; | 358 | struct thread_info *thread = task_thread_info(p); |
| 359 | struct pt_regs *childregs; | 359 | struct pt_regs *childregs = task_pt_regs(p); |
| 360 | 360 | ||
| 361 | childregs = (void *)thread + THREAD_START_SP - sizeof(*regs); | ||
| 362 | *childregs = *regs; | 361 | *childregs = *regs; |
| 363 | childregs->ARM_r0 = 0; | 362 | childregs->ARM_r0 = 0; |
| 364 | childregs->ARM_sp = stack_start; | 363 | childregs->ARM_sp = stack_start; |
