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:
Dave Anderson 2018-02-09 16:26:27 -05:00
parent a38e3ec4cb
commit ddace9720f

View File

@ -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) &&