Re: [PATCH 03/24] x86/paravirt: Annotate indirect calls

From: Josh Poimboeuf
Date: Mon Jan 29 2018 - 12:59:11 EST


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) <peterz@xxxxxxxxxxxxx>
> ---
> 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?

--
Josh