On Wed, Oct 10, 2018 at 02:56:08PM -0400, Steven Rostedt wrote:
> On Wed, 10 Oct 2018 13:33:30 -0500
> Josh Poimboeuf <jpoim...@redhat.com> wrote:
> 
> > Re-reading your suggestion, I may have misunderstood what you're
> > suggesting here, but I'm thinking about doing something like what you
> > proposed earlier:
> > 
> >     GLOBAL(tramp)
> >       jmp *current_func(%rip)
> >     ENDPROC(tramp)
> > 
> > That is, doing an indirect jump instead of the above direct jump, so
> > that any previous references to the trampoline would still work (and it
> > would also work during early boot).
> > 
> > Though it should probably be a retpoline instead of an indirect jump.
> 
> But do we care, as it only takes place during text_poke_bp() right?
> 
> I don't think we need to worry about training trampoline branch
> prediction that can only be hit when something enables the jump.

Yeah, I guess it depends on if we'd expect anybody (or gcc) to get a
function pointer to the trampoline itself.  I can just create a warning
for that in objtool.

-- 
Josh

Reply via email to