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

Re: [Xen-devel] [PATCH v4 1/4] x86: stop handling MSR_IA32_BNDCFGS save/restore in implementation code



>>> On 09.04.19 at 16:38, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 14/03/2019 13:51, Paul Durrant wrote:
>> @@ -1215,8 +1196,11 @@ static bool vmx_set_guest_bndcfgs(struct vcpu *v, u64 
>> val)
>>      return true;
>>  }
>>  
>> -static bool vmx_get_guest_bndcfgs(struct vcpu *v, u64 *val)
>> +static bool vmx_get_guest_bndcfgs(const struct vcpu *cv, u64 *val)
>>  {
>> +    /* Get a non-const pointer for vmx_vmcs_enter() */
>> +    struct vcpu *v = cv->domain->vcpu[cv->vcpu_id];
>> +
> 
> I'm sorry not having got around to reviewing this series in a timely
> fashion, but I am going to specifically nack de-consting games like
> this.  There is now vcpu state corruption when the MSR is accessed
> remotely - this hook *must* remain a mutable vcpu pointer.

Would you mind enlightening me how / what vCPU state corruption
this is causing? There's no change in what struct vcpu instance is
being acted upon, after all.

> There are also multiple other functional issues and regressions
> introduced by this series.  I'm trying to put together a patch to fix
> all of the fallout, but I also might revert the series wholesale
> depending on the eventual complexity.

I'm sorry for not spotting any of them; I'm curious to learn what
I've missed.

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®.