On Tue, 2021-03-09 at 14:12 +0100, Paolo Bonzini wrote: > On 09/03/21 11:09, Maxim Levitsky wrote: > > What happens if mmio generation overflows (e.g if userspace keeps on updating the memslots)? > > In theory if we have a SPTE with a stale generation, it can became valid, no? > > > > I think that we should in the case of the overflow zap all mmio sptes. > > What do you think? > > Zapping all MMIO SPTEs is done by updating the generation count. When > it overflows, all SPs are zapped: > > /* > * The very rare case: if the MMIO generation number has wrapped, > * zap all shadow pages. > */ > if (unlikely(gen == 0)) { > kvm_debug_ratelimited("kvm: zapping shadow pages for > mmio generation wraparound\n"); > kvm_mmu_zap_all_fast(kvm); > } > > So giving it more bits make this more rare, at the same time having to > remove one or two bits is not the end of the world. This is exactly what I expected to happen, I just didn't find that code. Thanks for explanation, and it shows that I didn't study the mmio spte code much. Best regards, Maxim Levitsky > > Paolo >