• Matt Fleming's avatar
    sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() · b344e24a
    Matt Fleming authored
    We can't assume that if we execute the unwinder code and the unwinder
    was already running that it has faulted. Clearly two kernel threads can
    invoke the unwinder at the same time and may be running simultaneously.
    
    The previous approach used BUG() and BUG_ON() in the unwinder code to
    detect whether the unwinder was incapable of unwinding the stack, and
    that the next available unwinder should be used instead. A better
    approach is to explicitly invoke a trap handler to switch unwinders when
    the current unwinder cannot continue.
    Signed-off-by: default avatarMatt Fleming <matt@console-pimps.org>
    b344e24a
debugtraps.S 1.28 KB