• Jiri Slaby's avatar
    x86/stacktrace: Do not fail for ORC with regs on stack · 0c414367
    Jiri Slaby authored
    save_stack_trace_reliable now returns "non reliable" when there are
    kernel pt_regs on stack. This means an interrupt or exception happened
    somewhere down the route. It is a problem for the frame pointer
    unwinder, because the frame might not have been set up yet when the irq
    happened, so the unwinder might fail to unwind from the interrupted
    function.
    
    With ORC, this is not a problem, as ORC has out-of-band data. We can
    find ORC data even for the IP in the interrupted function and always
    unwind one level up reliably.
    
    So lift the check to apply only when CONFIG_FRAME_POINTER=y is enabled.
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    Acked-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: https://lkml.kernel.org/lkml/20180518064713.26440-4-jslaby@suse.czSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    0c414367
stacktrace.c 5.16 KB