|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 3/4] x86: limit issuing of IBPB during context switch
On 25/01/2023 3:26 pm, Jan Beulich wrote:
> When the outgoing vCPU had IBPB issued upon entering Xen there's no
> need for a 2nd barrier during context switch.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> ---
> v3: Fold into series.
>
> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -2015,7 +2015,8 @@ void context_switch(struct vcpu *prev, s
>
> ctxt_switch_levelling(next);
>
> - if ( opt_ibpb_ctxt_switch && !is_idle_domain(nextd) )
> + if ( opt_ibpb_ctxt_switch && !is_idle_domain(nextd) &&
> + !(prevd->arch.spec_ctrl_flags & SCF_entry_ibpb) )
> {
> static DEFINE_PER_CPU(unsigned int, last);
> unsigned int *last_id = &this_cpu(last);
>
>
The aforementioned naming change makes the (marginal) security hole here
more obvious.
When we use entry-IBPB to protect Xen, we only care about the branch
types in the BTB. We don't flush the RSB when using the SMEP optimisation.
Therefore, entry-IBPB is not something which lets us safely skip
exit-new-pred-context.
~Andrew
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |