On Thu, Jan 04, 2018 at 09:56:47AM -0800, Tim Chen wrote:
>  .macro ENABLE_IBRS
> -     ALTERNATIVE "jmp 10f", "", X86_FEATURE_SPEC_CTRL
> +     testl $SPEC_CTRL_IBRS_INUSE, spec_ctrl_ibrs
> +     jz .Lskip_\@
> +
>       PUSH_MSR_REGS
>       WRMSR_ASM $MSR_IA32_SPEC_CTRL, $SPEC_CTRL_FEATURE_ENABLE_IBRS
>       POP_MSR_REGS
> -10:
> +
> +     jmp .Ldone_\@
> +.Lskip_\@:
> +     /*
> +      * prevent speculation beyond here as we could want to
> +      * stop speculation by enabling IBRS
> +      */
> +     lfence
> +.Ldone_\@:
>  .endm


Yeah no. We have jump labels for this stuff. There is no reason what so
ever to do dynamic tests for a variable that _never_ changes.

Reply via email to