Skip to content

Commit

Permalink
Fix for the ARM64 "bt" command. Without the patch, the backtrace of
Browse files Browse the repository at this point in the history
a non-panicking active task generates a segmentation violation when
analyzing Android 4.4-based dumpfiles.
([email protected])
  • Loading branch information
Dave Anderson committed Apr 19, 2017
1 parent 78330fc commit c54bcc5
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions arm64.c
Original file line number Diff line number Diff line change
Expand Up @@ -2232,6 +2232,10 @@ arm64_back_trace_cmd(struct bt_info *bt)
stackframe.sp = bt->hp->esp + 8;
bt->flags &= ~BT_REGS_NOT_FOUND;
} else {
if (arm64_on_irq_stack(bt->tc->processor, bt->frameptr)) {
arm64_set_irq_stack(bt);
bt->flags |= BT_IRQSTACK;
}
stackframe.sp = bt->stkptr;
stackframe.pc = bt->instptr;
stackframe.fp = bt->frameptr;
Expand Down Expand Up @@ -2339,6 +2343,10 @@ arm64_back_trace_cmd_v2(struct bt_info *bt)
stackframe.sp = bt->bptr + 16;
bt->frameptr = stackframe.fp;
} else {
if (arm64_on_irq_stack(bt->tc->processor, bt->frameptr)) {
arm64_set_irq_stack(bt);
bt->flags |= BT_IRQSTACK;
}
stackframe.sp = bt->stkptr;
stackframe.pc = bt->instptr;
stackframe.fp = bt->frameptr;
Expand Down

0 comments on commit c54bcc5

Please sign in to comment.