Re: [PATCH v2 11/25] KVM: x86/mmu: remove kvm_calc_shadow_root_page_role_common

From: Paolo Bonzini
Date: Tue Mar 08 2022 - 12:50:29 EST


On 3/8/22 18:48, Sean Christopherson wrote:
On Mon, Feb 21, 2022, Paolo Bonzini wrote:
kvm_calc_shadow_root_page_role_common is the same as
kvm_calc_cpu_mode except for the level, which is overwritten
afterwards in kvm_calc_shadow_mmu_root_page_role
and kvm_calc_shadow_npt_root_page_role.

role.base.direct is already set correctly for the CPU mode,
and CR0.PG=1 is required for VMRUN so it will also be
correct for nested NPT.

Bzzzt, this is wrong, the nested NPT MMU is indirect but will be computed as direct.

CR0.PG=1 means it's *not* direct:

+ role.base.direct = !____is_cr0_pg(regs);

Paolo