Re: [RFC PATCH v8 3/4] arm64: Introduce stack trace reliability checks in the unwinder
From: Madhavan T. Venkataraman <hidden>
Date: 2021-08-24 12:19:57
Also in:
linux-arm-kernel, lkml
From: Madhavan T. Venkataraman <hidden>
Date: 2021-08-24 12:19:57
Also in:
linux-arm-kernel, lkml
On 8/24/21 12:55 AM, nobuta.keiya@fujitsu.com wrote:
Hi Madhavan,quoted
@@ -245,7 +271,36 @@ noinline notrace void arch_stack_walk(stack_trace_consume_fn consume_entry, fp = thread_saved_fp(task); pc = thread_saved_pc(task); } - unwind(consume_entry, cookie, task, fp, pc); + unwind(consume_entry, cookie, task, fp, pc, false); +} + +/* + * arch_stack_walk_reliable() may not be used for livepatch until all of + * the reliability checks are in place in unwind_consume(). However, + * debug and test code can choose to use it even if all the checks are not + * in place. + */I'm glad to see the long-awaited function :) Does the above comment mean that this comment will be removed by another patch series that about live patch enablement, instead of [PATCH 4/4]? It seems to take time... But I start thinking about test code.
Yes. This comment will be removed when livepatch will be enabled eventually. So, AFAICT, there are 4 pieces that are needed: - Reliable stack trace in the kernel. I am trying to address that with my patch series. - Mark Rutland's work for making patching safe on ARM64. - Objtool (or alternative method) for stack validation. - Suraj Jitindar Singh's patch for miscellaneous things needed to enable live patch. Once all of these pieces are in place, livepatch can be enabled. That said, arch_stack_walk_reliable() can be used for test and debug purposes anytime once this patch series gets accepted. Thanks. Madhavan