lkml.org 
[lkml]   [2021]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH v5 1/2] arm64: Introduce stack trace reliability checks in the unwinder
    On Fri, Jun 25, 2021 at 10:39:57AM -0500, Madhavan T. Venkataraman wrote:
    > On 6/24/21 9:40 AM, Mark Rutland wrote:

    > > At a high-level, I'm on-board with keeping track of this per unwind
    > > step, but if we do that then I want to be abel to use this during
    > > regular unwinds (e.g. so that we can have a backtrace idicate when a
    > > step is not reliable, like x86 does with '?'), and to do that we need to
    > > be a little more accurate.

    > The only consumer of frame->reliable is livepatch. So, in retrospect, my
    > original per-frame reliability flag was an overkill. I was just trying to
    > provide extra per-frame debug information which is not really a requirement
    > for livepatch.

    It's not a requirement for livepatch but if it's there a per frame
    reliability flag would have other uses - for example Mark has mentioned
    the way x86 prints a ? next to unreliable entries in oops output for
    example, that'd be handy for people debugging issues and would have the
    added bonus of ensuring that there's more constant and widespread
    exercising of the reliability stuff than if it's just used for livepatch
    which is a bit niche.

    > So, let us separate the two. I will rename frame->reliable to frame->livepatch_safe.
    > This will apply to the whole stacktrace and not to every frame.

    I'd rather keep it as reliable, even with only the livepatch usage I
    think it's clearer.

    > Finally, it might be a good idea to perform reliability checks even in
    > start_backtrace() so we don't assume that the starting frame is reliable even
    > if the caller passes livepatch_safe=true. What do you think?

    That makes sense to me.
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2021-06-25 17:53    [W:2.210 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site