Re: [PATCH 4/7] KVM: nVMX: move inject_page_fault tweak to .complete_mmu_init

From: Paolo Bonzini
Date: Thu Feb 18 2021 - 06:46:20 EST


On 17/02/21 19:43, Maxim Levitsky wrote:
1. npt/ept disabled in the host. In this case we have a single shadowing
and a nested hypervisor has to do its own shadowing on top of it.
In this case the MMU itself has to generate page faults (they are a result
of hardware page faults, but are completely different), and in case
of nesting these page faults have to be sometimes injected as VM exits.

[...] Also if the emulator injects the page fault, then indeed I think the
bug will happen.

But in both cases you (ought to) get an injected exception which then becomes a page fault vmexit at next check_nested_events. That's the part that we are all collectively missing.

Paolo