mirror of
https://github.com/crash-utility/crash
synced 2025-02-21 16:06:49 +00:00
Fix for the ARM64 "bt" command in kernels that contain commit
30d88c0e3ace625a92eead9ca0ad94093a8f59fe, titled "arm64: entry: Apply BP hardening for suspicious interrupts from EL0". Without the patch, there may be invalid kernel kernel exception frames displayed on an active task's kernel stack, often below a stackframe of the "do_el0_ia_bp_hardening" function; the address translation of the PC and LR values in the the bogus exception frame will display "[unknown or invalid address]". (anderson@redhat.com)
This commit is contained in:
parent
a38e3ec4cb
commit
ddace9720f
6
arm64.c
6
arm64.c
@ -2411,8 +2411,10 @@ arm64_back_trace_cmd(struct bt_info *bt)
|
||||
|
||||
if (arm64_in_exception_text(bt->instptr) && INSTACK(stackframe.fp, bt)) {
|
||||
if (!(bt->flags & BT_IRQSTACK) ||
|
||||
(((stackframe.sp + SIZE(pt_regs)) < bt->stacktop)))
|
||||
exception_frame = stackframe.fp - KERN_EFRAME_OFFSET;
|
||||
((stackframe.sp + SIZE(pt_regs)) < bt->stacktop)) {
|
||||
if (arm64_is_kernel_exception_frame(bt, stackframe.fp - KERN_EFRAME_OFFSET))
|
||||
exception_frame = stackframe.fp - KERN_EFRAME_OFFSET;
|
||||
}
|
||||
}
|
||||
|
||||
if ((bt->flags & BT_IRQSTACK) &&
|
||||
|
Loading…
Reference in New Issue
Block a user