1. 23 7月, 2010 1 次提交
    • X
      KVM: MMU: fix conflict access permissions in direct sp · 6aa0b9de
      Xiao Guangrong 提交于
      In no-direct mapping, we mark sp is 'direct' when we mapping the
      guest's larger page, but its access is encoded form upper page-struct
      entire not include the last mapping, it will cause access conflict.
      
      For example, have this mapping:
              [W]
            / PDE1 -> |---|
        P[W]          |   | LPA
            \ PDE2 -> |---|
              [R]
      
      P have two children, PDE1 and PDE2, both PDE1 and PDE2 mapping the
      same lage page(LPA). The P's access is WR, PDE1's access is WR,
      PDE2's access is RO(just consider read-write permissions here)
      
      When guest access PDE1, we will create a direct sp for LPA, the sp's
      access is from P, is W, then we will mark the ptes is W in this sp.
      
      Then, guest access PDE2, we will find LPA's shadow page, is the same as
      PDE's, and mark the ptes is RO.
      
      So, if guest access PDE1, the incorrect #PF is occured.
      
      Fixed by encode the last mapping access into direct shadow page
      Signed-off-by: NXiao Guangrong <xiaoguangrong@cn.fujitsu.com>
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      6aa0b9de
  2. 19 5月, 2010 2 次提交
  3. 17 5月, 2010 5 次提交
  4. 01 3月, 2010 2 次提交
  5. 25 1月, 2010 1 次提交
  6. 27 12月, 2009 1 次提交
    • M
      KVM: MMU: remove prefault from invlpg handler · fb341f57
      Marcelo Tosatti 提交于
      The invlpg prefault optimization breaks Windows 2008 R2 occasionally.
      
      The visible effect is that the invlpg handler instantiates a pte which
      is, microseconds later, written with a different gfn by another vcpu.
      
      The OS could have other mechanisms to prevent a present translation from
      being used, which the hypervisor is unaware of.
      
      While the documentation states that the cpu is at liberty to prefetch tlb
      entries, it looks like this is not heeded, so remove tlb prefetch from
      invlpg.
      
      Cc: stable@kernel.org
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      fb341f57
  7. 03 12月, 2009 1 次提交
  8. 04 10月, 2009 1 次提交
  9. 10 9月, 2009 9 次提交
  10. 28 6月, 2009 1 次提交
  11. 10 6月, 2009 4 次提交
  12. 24 3月, 2009 5 次提交
  13. 31 12月, 2008 3 次提交
  14. 26 11月, 2008 1 次提交
  15. 15 10月, 2008 3 次提交