Re: [PATCH v4 3/3] KVM: nVMX: Emulate EPTP switching for the L1 hypervisor

From: Bandan Das
Date: Thu Jul 13 2017 - 13:09:03 EST


David Hildenbrand <david@xxxxxxxxxx> writes:

>>>> + /*
>>>> + * If the (L2) guest does a vmfunc to the currently
>>>> + * active ept pointer, we don't have to do anything else
>>>> + */
>>>> + if (vmcs12->ept_pointer != address) {
>>>> + if (address >> cpuid_maxphyaddr(vcpu) ||
>>>> + !IS_ALIGNED(address, 4096))
>>>
>>> Couldn't the pfn still be invalid and make kvm_mmu_reload() fail?
>>> (triggering a KVM_REQ_TRIPLE_FAULT)
>>
>> If there's a triple fault, I think it's a good idea to inject it
>> back. Basically, there's no need to take care of damage control
>> that L1 is intentionally doing.
>
> I quickly rushed over the massive amount of comments. Sounds like you'll
> be preparing a v5. Would be great if you could add some comments that
> were the result of this discussion (for parts that are not that obvious
> - triple faults) - thanks!

Will do. Basically, we agreed that we don't need to do anything with mmu_reload() faillures
because the invalid eptp that mmu_unload will write to root_hpa will result in an ept
violation.

Bandan