Thread (52 messages) 52 messages, 5 authors, 2021-02-05

Re: [RFC PATCH 0/3] arm64: Implement reliable stack trace

From: Mark Brown <broonie@kernel.org>
Date: 2021-01-27 17:13:36

On Wed, Jan 27, 2021 at 04:40:56PM +0000, Mark Rutland wrote:
On Wed, Jan 27, 2021 at 08:02:41AM -0600, Madhavan T. Venkataraman wrote:
quoted
My question is - for live patching, we would need to look at the task stack
as well, right?
Ideally, we would be able to do this, but currently we cannot safely do
so. IIUC this means that live patching is still possible, but is
potentially much slower to apply updates.
That's my understanding, we should just retry until we find the stack to
be reliable.
quoted
May be, we need to pass a flag to the unwinder to check the
task stack in addition to the active task?
The logic to unwind across stack and exception boundaries already
exists, but to make this reliable we will need more invasive work,
potentially changing trampolines and/or adding metadata for these,
perhaps requiring objtool and/or toolchain changes.
This also requires additional work for shadow call stacks if we end up
using them since we always use a separate shadow call stack for
interrupts rather than nesting on the task shadow call stack, with the
code I've got locally we should just detect that the shadow and task
stacks aren't in sync and report that we can't generate a reliable
stacktrace.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help