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

Re: [Xen-devel] [PATCH 5/5] x86/PV: don't commit debug register values early in arch_set_info_guest()



On 10/12/2013 17:33, "George Dunlap" <george.dunlap@xxxxxxxxxxxxx> wrote:

> On 12/10/2013 03:48 PM, Jan Beulich wrote:
>> They're being taken care of later (via set_debugreg()), and temporarily
>> copying them into struct vcpu means that bad values may end up getting
>> loaded during context switch if the vCPU is already running and the
>> function errors out between the premature and real commit step, leading
>> to the same issue that XSA-12 dealt with.
>> 
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> 
> Release-acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>

Acked-by: Keir Fraser <keir@xxxxxxx>

>> 
>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -740,11 +740,12 @@ int arch_set_info_guest(
>>               XLAT_trap_info(v->arch.pv_vcpu.trap_ctxt + i,
>>                              c.cmp->trap_ctxt + i);
>>       }
>> -    for ( i = 0; i < ARRAY_SIZE(v->arch.debugreg); ++i )
>> -        v->arch.debugreg[i] = c(debugreg[i]);
>>   
>>       if ( has_hvm_container_vcpu(v) )
>>       {
>> +        for ( i = 0; i < ARRAY_SIZE(v->arch.debugreg); ++i )
>> +            v->arch.debugreg[i] = c(debugreg[i]);
>> +
>>           /*
>>            * NB: TF_kernel_mode is set unconditionally for HVM guests,
>>            * so we always use the gs_base_kernel here. If we change this
>> 
>> 
>> 
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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