Re: [RFC 1/1] orc: mark it as reliable

Josh Poimboeuf
2017-10-04T14:04:25Z

On Wed, Oct 04, 2017 at 11:23:15AM +0200, Jiri Slaby wrote:
> We need a reliable stack unwinder for kernel live patching, but we do
> not want to enable frame pointers for performance reasons. So let ORC be
> a reliable stack unwinder on x86 as it performs nicely wrt reliability
> of traces.
>
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> Cc: Josh Poimboeuf <jpoimboe@redhat.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> Cc: x86@kernel.org
> ---
>
> I am sending this as an RFC. Do you still consider ORC to be not-enough
> reliable?

Off the top of my head, at least the following is missing:

- save_stack_trace_reliable() assumes that kernel mode pt_regs on the
stack make the stack trace unreliable. This is an FP-specific
assumption which no longer applies for ORC.

- The ORC unwinder needs to set unwind_state.error if it doesn't reach
all the way to the end (user pt_regs).

--
Josh