Re: [PATCH v3 03/11] KVM: x86: retry non-page-table writing instruction

Xiao Guangrong
2011-09-15T04:53:49Z

On 09/14/2011 06:19 PM, Xiao Guangrong wrote:
> On 09/14/2011 05:53 PM, Avi Kivity wrote:
>> On 09/13/2011 09:24 PM, Xiao Guangrong wrote:
>>>>>
>>>>> +static bool retry_instruction(struct x86_emulate_ctxt *ctxt,
>>>>> + unsigned long cr2, int emulation_type)
>>>>> +{
>>>>> + if (!vcpu->arch.mmu.direct_map&& !mmu_is_nested(vcpu))
>>>>> + gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2, NULL);
>>>>
>>>> If mmu_is_nested() cr2 is an ngpa, we have to translate it to a gpa, no?
>>>>
>>>
>>> Yeah, will fix it.
>>>
>>> And this bug also exists in the current code: it always uses L2 gpa to emulate
>>> write operation.
>>
>> Can you please send this fix separately, so it can be backported if needed?
>>
>
> Sure, i will do it as soon as possible. :-)

I am so sorry, the current code is good, it has already translated L2 gpa to
L1 gpa:

vcpu->arch.nested_mmu.translate_gpa = translate_nested_gpa;

Please ignore it.