Re: x86 entry perf unwinding failure (missing IRET_REGS annotation on stack switch?)

From: Josh Poimboeuf
Date: Mon Mar 02 2020 - 10:52:50 EST


On Mon, Mar 02, 2020 at 09:18:29AM -0600, Josh Poimboeuf wrote:
> > So I think on machines without X86_FEATURE_SMAP, trying to unwind from
> > the two NOPs at f41 and f42 will cause the unwinder to report an
> > error? Looking at unwind_next_frame(), "sp:(und)" without the "end:1"
> > marker seems to be reserved for errors.

I think we can blame this one on Peter ;-)

764eef4b109a ("objtool: Rewrite alt->skip_orig")

With X86_FEATURE_SMAP, alt->skip_orig gets set, which tells objtool to
skip validation of the NOPs. That has the side effect of not
propagating the ORC state to the NOPs as well.

--
Josh