You need to sign in or sign up before continuing.
  1. 06 11月, 2010 1 次提交
    • M
      KVM: Write protect memory after slot swap · edde99ce
      Michael S. Tsirkin 提交于
      I have observed the following bug trigger:
      
      1. userspace calls GET_DIRTY_LOG
      2. kvm_mmu_slot_remove_write_access is called and makes a page ro
      3. page fault happens and makes the page writeable
         fault is logged in the bitmap appropriately
      4. kvm_vm_ioctl_get_dirty_log swaps slot pointers
      
      a lot of time passes
      
      5. guest writes into the page
      6. userspace calls GET_DIRTY_LOG
      
      At point (5), bitmap is clean and page is writeable,
      thus, guest modification of memory is not logged
      and GET_DIRTY_LOG returns an empty bitmap.
      
      The rule is that all pages are either dirty in the current bitmap,
      or write-protected, which is violated here.
      
      It seems that just moving kvm_mmu_slot_remove_write_access down
      to after the slot pointer swap should fix this bug.
      
      KVM-Stable-Tag.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      edde99ce
  2. 24 10月, 2010 39 次提交