diff options
-rw-r--r-- | arch/arm/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/arm/kernel/traps.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 91d107d33c8d..ac6ed955ca0f 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c | |||
@@ -459,7 +459,7 @@ unsigned long get_wchan(struct task_struct *p) | |||
459 | if (!p || p == current || p->state == TASK_RUNNING) | 459 | if (!p || p == current || p->state == TASK_RUNNING) |
460 | return 0; | 460 | return 0; |
461 | 461 | ||
462 | stack_start = (unsigned long)(p->thread_info + 1); | 462 | stack_start = (unsigned long)end_of_stack(p); |
463 | stack_end = ((unsigned long)p->thread_info) + THREAD_SIZE; | 463 | stack_end = ((unsigned long)p->thread_info) + THREAD_SIZE; |
464 | 464 | ||
465 | fp = thread_saved_fp(p); | 465 | fp = thread_saved_fp(p); |
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index c9fe6f5f7ee3..c1a04ec830d1 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -164,7 +164,7 @@ static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk) | |||
164 | } else if (verify_stack(fp)) { | 164 | } else if (verify_stack(fp)) { |
165 | printk("invalid frame pointer 0x%08x", fp); | 165 | printk("invalid frame pointer 0x%08x", fp); |
166 | ok = 0; | 166 | ok = 0; |
167 | } else if (fp < (unsigned long)(tsk->thread_info + 1)) | 167 | } else if (fp < (unsigned long)end_of_stack(tsk)) |
168 | printk("frame pointer underflow"); | 168 | printk("frame pointer underflow"); |
169 | printk("\n"); | 169 | printk("\n"); |
170 | 170 | ||