Dave Anderson <anderson@xxxxxxxxxx> writes: >> [BTW, current x86_get_pc() uses inactive_task_frame_ret_addr to get >> pc. However, inactive_task_frame is only valid if task is sleeping >> state. (running task may overwrite inactive_task_frame already.) I'm >> not sure whether we should check is_task_active() or not. Even if >> checking is_task_active(), we can't get pc correctly anyway.] > > Well, x86_get_pc() should only be called in the case of sleeping > tasks because each dumpfile type has its own function to try to > find the active task registers. For example, on a kdump: > > cmd_bt() > back_trace() > get_kdump_regs() > get_netdump_regs() > get_netdump_regs_x86() > > get_netdump_regs_x86() *should* find the starting point hooks. > If it fails to do so, it will default to machdep->get_stack_frame() > and ultimately x86_get_pc(). So if it gets there, the backtrace > is pretty much guaranteed to be invalid. Ah, this might be because of the above hardirq_tasks[] bug. Thanks. -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility