Re: [RFC PATCH v8 3/4] arm64: Introduce stack trace reliability checks in the unwinder

From: Mark Brown
Date: Thu Aug 26 2021 - 12:24:52 EST


On Thu, Aug 12, 2021 at 02:06:02PM -0500, madvenka@xxxxxxxxxxxxxxxxxxx wrote:

> + if (frame->need_reliable && !unwind_is_reliable(frame)) {
> + /* Cannot unwind to the next frame reliably. */
> + frame->failed = true;
> + return false;
> + }

This means we only collect reliability information in the case
where we're specifically doing a reliable stacktrace. For
example when printing stack traces on the console it might be
useful to print a ? or something if the frame is unreliable as a
hint to the reader that the information might be misleading.
Could we therefore change the flag here to a reliability one and
our need_reliable check so that we always run
unwind_is_reliable()?

I'm not sure if we need to abandon the trace on first error when
doing a reliable trace but I can see it's a bit safer so perhaps
better to do so. If we don't abandon then we don't require the
need_reliable check at all.

Attachment: signature.asc
Description: PGP signature