[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 4/4] x86/vmx: Properly flush the TLB when an altp2m is modified



>>> On 19.02.19 at 23:18, <andrew.cooper3@xxxxxxxxxx> wrote:
> @@ -4319,17 +4320,42 @@ bool vmx_vmenter_helper(const struct cpu_user_regs 
> *regs)
>  
>      if ( paging_mode_hap(curr->domain) )
>      {
> -        struct ept_data *ept = &p2m_get_hostp2m(curr->domain)->ept;
> +        struct ept_data *ept = &p2m_get_hostp2m(currd)->ept;
>          unsigned int cpu = smp_processor_id();
> +        unsigned int inv = 0; /* None => Single => All */
> +        struct ept_data *single = NULL; /* Single eptp, iff inv == 1 */
>  
>          if ( cpumask_test_cpu(cpu, ept->invalidate) )
>          {
>              cpumask_clear_cpu(cpu, ept->invalidate);
> -            if ( nestedhvm_enabled(curr->domain) )
> -                __invept(INVEPT_ALL_CONTEXT, 0);
> -            else
> -                __invept(INVEPT_SINGLE_CONTEXT, ept->eptp);
> +
> +            /* Automatically invalidate all contexts if nested. */
> +            inv += 1 + nestedhvm_enabled(currd);
> +            single = ept;
> +        }
> +
> +        if ( altp2m_active(curr->domain) )

Please use currd here as well.

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.