Skip to content

Commit

Permalink
Fix for an invalid "bt" warning on a 32-bit X86 idle (swapper) task.
Browse files Browse the repository at this point in the history
Without the patch, the backtrace displays the "cannot resolve stack
trace" warning, dumps the backtrace, and then the text symbols:

  crash> bt
  PID: 0      TASK: f0962180  CPU: 6   COMMAND: "swapper/6"
  bt: cannot resolve stack trace:
   #0 [f095ff1c] __schedule at c0b6ef8d
   #1 [f095ff58] schedule at c0b6f4a9
   #2 [f095ff64] schedule_preempt_disabled at c0b6f728
   #3 [f095ff6c] cpu_startup_entry at c04b0310
   #4 [f095ff94] start_secondary at c04468c0
  bt: text symbols on stack:
      [f095ff1c] __schedule at c0b6ef8d
      [f095ff58] schedule at c0b6f4ae
      [f095ff64] schedule_preempt_disabled at c0b6f72d
      [f095ff6c] cpu_startup_entry at c04b0315
      [f095ff94] start_secondary at c04468c5
  crash>

The backtrace shown is actually correct.
([email protected])
  • Loading branch information
Dave Anderson committed Feb 14, 2017
1 parent ec1a9b9 commit 63dd576
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion lkcd_x86_trace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1692,7 +1692,8 @@ find_trace(
#endif
func_name = kl_funcname(pc);
if (func_name && !XEN_HYPER_MODE()) {
if (strstr(func_name, "kernel_thread")) {
if (strstr(func_name, "kernel_thread") ||
strstr(func_name, "start_secondary")) {
ra = 0;
bp = saddr - 4;
asp = (uaddr_t*)
Expand Down

0 comments on commit 63dd576

Please sign in to comment.