[PATCH v4 0/8] Simplify and fix fetch()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 gpte_changed() helper
     v4: change name to gpte_changed(), move error handling back to fetch()
     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
     v4: fix freeing of incorrect shadow page on changed gpte
     v3: fix top-level gpte validation oops
     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 |  150 ++++++++++++++++++++++----------------------
 2 files changed, 115 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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux