fetch() has become a monster, with a zillion continues, breaks, and gotos. Simplify it before Xiao adds even more. Also fix the gpte validation race. Avi Kivity (8): KVM: MMU: Add link_shadow_page() helper KVM: MMU: Use __set_spte to link shadow pages KVM: MMU: Add drop_large_spte() helper v2: s/drop_spte_if_large/drop_large_spte/g KVM: MMU: Add validate_direct_spte() helper KVM: MMU: Add validate_indirect_spte() helper v2: add comments make validate_indirect_spte() look at spte in its own level, not one below (but adjust caller so no net effect) KVM: MMU: Simplify spte fetch() function v2: add comments update 'sptep' and 'level' for last level KVM: MMU: Validate all gptes during fetch, not just those used for new pages v2: validate top-level gpte (in root page) KVM: MMU: Eliminate redundant temporaries in FNAME(fetch) v2: new patch arch/x86/kvm/mmu.c | 41 ++++++++++++ arch/x86/kvm/paging_tmpl.h | 156 ++++++++++++++++++++++--------------------- 2 files changed, 121 insertions(+), 76 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html