forked from luck/tmp_suning_uos_patched
ARM: 8073/1: unwind: Use arm_get_current_stackframe
Make the unwind code use the correct API so that the frame pointer is extracted from the correct register. Signed-off-by: Nikolay Borisov <Nikolay.Borisov@arm.com> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
a3250c92aa
commit
c8bee0ad78
|
@ -479,12 +479,10 @@ void unwind_backtrace(struct pt_regs *regs, struct task_struct *tsk)
|
|||
tsk = current;
|
||||
|
||||
if (regs) {
|
||||
frame.fp = regs->ARM_fp;
|
||||
frame.sp = regs->ARM_sp;
|
||||
frame.lr = regs->ARM_lr;
|
||||
arm_get_current_stackframe(regs, &frame);
|
||||
/* PC might be corrupted, use LR in that case. */
|
||||
frame.pc = kernel_text_address(regs->ARM_pc)
|
||||
? regs->ARM_pc : regs->ARM_lr;
|
||||
if (!kernel_text_address(regs->ARM_pc))
|
||||
frame.pc = regs->ARM_lr;
|
||||
} else if (tsk == current) {
|
||||
frame.fp = (unsigned long)__builtin_frame_address(0);
|
||||
frame.sp = current_sp;
|
||||
|
|
Loading…
Reference in New Issue
Block a user