On Mon, Jan 29, 2018 at 11:58:58AM -0600, Josh Poimboeuf wrote:
> On Tue, Jan 23, 2018 at 04:25:42PM +0100, Peter Zijlstra wrote:
> > Paravirt emits indirect calls which get flagged by objtool retpoline
> > checks, annotate it away because all these indirect calls will be
> > patched out before we start userspace.
> > 
> > Signed-off-by: Peter Zijlstra (Intel) <pet...@infradead.org>
> > ---
> >  arch/x86/include/asm/paravirt.h       |   22 ++++++++++++++++++----
> >  arch/x86/include/asm/paravirt_types.h |    7 ++++++-
> >  2 files changed, 24 insertions(+), 5 deletions(-)
> > 
> > --- a/arch/x86/include/asm/paravirt.h
> > +++ b/arch/x86/include/asm/paravirt.h
> > @@ -828,6 +828,12 @@ extern void default_banner(void);
> >      .short clobbers;                       \
> >     .popsection
> >  
> > +#define PARA_RETPOLINE_SAFE                                \
> > +   773:;                                           \
> > +   .pushsection .discard.retpoline_safe;           \
> > +   _ASM_PTR 773b;                                  \
> > +   .popsection
> 
> Why does paravirt have its own version of this macro?

Every time I touch paravirt.h I land in header hell :/ Maybe it can be
made to work, but I was too scared to try this time.

Reply via email to