forked from Minki/linux
csky: Fixup dead loop in show_stack
When STACKTRACE is enabled, we must pass fp as stack for unwind, otherwise random value in stack will casue a dead loop. Signed-off-by: Guo Ren <ren_guo@c-sky.com> Reported-by: Lu Baoquan <lu.baoquan@intellif.com>
This commit is contained in:
parent
76d21d186a
commit
131aee8b98
@ -38,7 +38,11 @@ void show_stack(struct task_struct *task, unsigned long *stack)
|
||||
if (task)
|
||||
stack = (unsigned long *)thread_saved_fp(task);
|
||||
else
|
||||
#ifdef CONFIG_STACKTRACE
|
||||
asm volatile("mov %0, r8\n":"=r"(stack)::"memory");
|
||||
#else
|
||||
stack = (unsigned long *)&stack;
|
||||
#endif
|
||||
}
|
||||
|
||||
show_trace(stack);
|
||||
|
Loading…
Reference in New Issue
Block a user