[Crash-utility] [PATCH 2/2] ARM: unwind: limit unwinding to the kernel text
Mika Westerberg
ext-mika.1.westerberg at nokia.com
Mon Dec 20 13:00:29 UTC 2010
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 at 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
More information about the Crash-utility
mailing list