Speakers
Description
The Livepatch consistency model 1 requires the kernel to provide reliable stacktrace in order to be fully supported. On x86, the ORC unwinder provides these reliable stacktraces. However, arm64 misses the required support from objtool: it cannot generate ORC unwind tables for arm64. Prior RFCs have proposed to add this support to objtool, but feedback from the upstream community has indicated that a solution using data produced directly from the compiler would be preferred 2, 3.
In the v6.17 release, the Arm64 kernel is expected to gain livepatch support, but without fully reliable stacktrace 4. With this partial solution, interrupt stacks cannot be reliably traced.
SFrame provides a generalized, compiler-based solution, inspired by the ORC unwinder 5, 6. Currently, there's already an SFrame unwinder proposed for userspace: 7. We would like to propose similar functionality to provide reliable stacktraces within the Arm64 kernel 8. This would enable the same level of support for reliable stacktrace as provided for x86 by the ORC unwinder.