Re: [PATCH 02/16] x86/dumpstack: Add get_stack_info() support for the SYSENTER stack
From: Josh Poimboeuf
Date: Mon Nov 20 2017 - 15:42:19 EST
On Mon, Nov 20, 2017 at 09:07:33AM -0800, Andy Lutomirski wrote:
> +bool in_SYSENTER_stack(unsigned long *stack, struct stack_info *info)
Can you make it lowercase for consistency with the other in_*_stack()
functions? For example, in_irq_stack() is all lowercase even though
"IRQ" is normally written in uppercase.
But also, I'm wondering whether this get_stack_info() support is even
really needed.
As currently written, the trampoline code doesn't have any ORC data
associated with it. So the unwinder would never have the need to
actually read the SYSENTER stack.
You _could_ add an UNWIND_HINT_IRET_REGS annotation after the simulated
iret frame is written, which would allow the unwinder to dump those regs
when unwinding from an NMI.
But there's only a tiny window where that would be possible: only a few
instructions. I'm not sure that would be worth the effort, unless we
got to the point where we expect to have 100% unwinder coverage. But
that's currently unrealistic anyway because of generated code and
runtime patching.
--
Josh