quoted
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
Thank you for the information.
Keiya