On 20/11/19 16:25, Liran Alon wrote: >>> If L0 use EPT, L0 use different EPTP when running L2 than L1 >>> (Because guest_mode is part of mmu-role) and therefore SDM section >>> 28.3.3.4 doesn't apply. Otherwise, L0 use different VPID when >>> running L2 than L1 and therefore SDM section 28.3.3.3 doesn't >>> apply. >> I don't understand this. You could still have a stale EPTP entry from a >> previous L2 vmenter. If L1 uses neither EPT nor VPID, it expects a TLB >> flush to occur on every vmentry, but this won't happen if L0 uses EPT. > I don’t seem to get your concern. > In case L1 don’t use VPID, prepare_vmcs02() will request KVM_REQ_TLB_FLUSH. > (As it needs to emulate to L1 that on every L1<->L2 switch, the entire physical TLB is flushed) > As explained in commit message. > You're right. I'll rewrite some parts of the commit message, but the patch is correct. Paolo