Re: [PATCH v3 18/39] x86/ibt,ftrace: Make function-graph play nice

From: Peter Zijlstra
Date: Fri Mar 04 2022 - 16:45:35 EST


On Fri, Mar 04, 2022 at 01:03:34PM -0800, Josh Poimboeuf wrote:
> On Fri, Mar 04, 2022 at 08:48:53PM +0100, Peter Zijlstra wrote:
> > On Fri, Mar 04, 2022 at 09:51:54AM -0800, Josh Poimboeuf wrote:
> > > On Thu, Mar 03, 2022 at 12:23:39PM +0100, Peter Zijlstra wrote:
> > > > +
> > > > + addq $16, %rsp
> > > > + ANNOTATE_INTRA_FUNCTION_CALL
> > > > + call .Ldo_rop
> > > > + int3
> > > > +.Ldo_rop:
> > > > + mov %rdi, (%rsp)
> > > > + UNWIND_HINT_FUNC
> > > > + RET
> > >
> > > Why the int3?
> >
> > Speculation trap :-) Either I'm too paranoid or not paranoid enough; but
> > without it it's just too close to a retpoline and it doesn't feel right.
>
> Um, it *is* a retpoline :-)
>
> Can you just use the RETPOLINE macro? Along with a comment stating why
> it can't just do a JMP_NOSPEC?

There is no RETPOLINE macro; or rather it is completely contained in
lib/retpoline.S and I'd sorta like to keep it that way.

That said, I can stick a comment on.