1. 25 3月, 2008 2 次提交
  2. 04 3月, 2008 3 次提交
    • A
      KVM: MMU: Fix race when instantiating a shadow pte · f7d9c7b7
      Avi Kivity 提交于
      For improved concurrency, the guest walk is performed concurrently with other
      vcpus.  This means that we need to revalidate the guest ptes once we have
      write-protected the guest page tables, at which point they can no longer be
      modified.
      
      The current code attempts to avoid this check if the shadow page table is not
      new, on the assumption that if it has existed before, the guest could not have
      modified the pte without the shadow lock.  However the assumption is incorrect,
      as the racing vcpu could have modified the pte, then instantiated the shadow
      page, before our vcpu regains control:
      
        vcpu0        vcpu1
      
        fault
        walk pte
      
                     modify pte
                     fault in same pagetable
                     instantiate shadow page
      
        lookup shadow page
        conclude it is old
        instantiate spte based on stale guest pte
      
      We could do something clever with generation counters, but a test run by
      Marcelo suggests this is unnecessary and we can just do the revalidation
      unconditionally.  The pte will be in the processor cache and the check can
      be quite fast.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      f7d9c7b7
    • M
      KVM: make MMU_DEBUG compile again · 24993d53
      Marcelo Tosatti 提交于
      the cr3 variable is now inside the vcpu->arch structure.
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      24993d53
    • I
      KVM: remove the usage of the mmap_sem for the protection of the memory slots. · 72dc67a6
      Izik Eidus 提交于
      This patch replaces the mmap_sem lock for the memory slots with a new
      kvm private lock, it is needed beacuse untill now there were cases where
      kvm accesses user memory while holding the mmap semaphore.
      Signed-off-by: NIzik Eidus <izike@qumranet.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      72dc67a6
  3. 31 1月, 2008 8 次提交
  4. 30 1月, 2008 27 次提交