Currently we might get following warning while unwinding the stack:
PID: 0 TASK: 40471790 CPU: 0 COMMAND: "swapper"
#0 [<403396b0>] (schedule) from [<4002e978>]
#1 [<4002e978>] (cpu_idle) from [<40008930>]
#2 [<40008930>] (start_kernel) from [<80008034>]
bt: WARNING: UNWIND: cannot find index for 80008034
This is due the fact that we didn't limit the stack unwinding to the
kernel (and modules) text.
Fix this by adding limit to the kernel text only.
Signed-off-by: Mika Westerberg <ext-mika.1.westerberg(a)nokia.com>
---
unwind_arm.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/unwind_arm.c b/unwind_arm.c
index cc5eb7c..58fb5da 100644
--- a/unwind_arm.c
+++ b/unwind_arm.c
@@ -592,6 +592,9 @@ unwind_frame(struct stackframe *frame, ulong stacktop)
low = frame->sp;
high = stacktop;
+ if (!is_kernel_text(frame->pc))
+ return FALSE;
+
tbl = search_table(frame->pc);
if (!tbl) {
error(WARNING, "UNWIND: cannot find unwind table for %lx\n",
--
1.7.3.2