projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bb6d3fb
)
ARM: allow unwinder to unwind recursive functions
author
Russell King
<rmk+kernel@armlinux.org.uk>
Sun, 22 Dec 2019 16:39:40 +0000
(16:39 +0000)
committer
Russell King
<rmk+kernel@armlinux.org.uk>
Fri, 21 Feb 2020 16:58:50 +0000
(16:58 +0000)
Allow the unwinder to unwind recursive functions if the stack makes
progress, even if the PC is the same. This allows tracing through
recursive __switchdev_handle_port_attr_set() and similar.
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/kernel/unwind.c
patch
|
blob
|
history
diff --git
a/arch/arm/kernel/unwind.c
b/arch/arm/kernel/unwind.c
index 4574e6aea0a528836641acd95a9f16377616716a..11a964fd66f474b7090a45cf8f65938c65bd12d2 100644
(file)
--- a/
arch/arm/kernel/unwind.c
+++ b/
arch/arm/kernel/unwind.c
@@
-444,7
+444,7
@@
int unwind_frame(struct stackframe *frame)
ctrl.vrs[PC] = ctrl.vrs[LR];
/* check for infinite loop */
- if (frame->pc == ctrl.vrs[PC])
+ if (frame->pc == ctrl.vrs[PC]
&& frame->sp == ctrl.vrs[SP]
)
return -URC_FAILURE;
frame->fp = ctrl.vrs[FP];