1. 20 12月, 2011 7 次提交
  2. 19 12月, 2011 2 次提交
  3. 05 12月, 2011 4 次提交
  4. 25 11月, 2011 1 次提交
  5. 13 11月, 2011 1 次提交
  6. 16 10月, 2011 1 次提交
  7. 11 10月, 2011 2 次提交
  8. 02 10月, 2011 4 次提交
  9. 25 9月, 2011 1 次提交
  10. 18 9月, 2011 1 次提交
  11. 14 9月, 2011 1 次提交
    • D
      Fix subtle integer overflow bug in memory API · d2963631
      David Gibson 提交于
      It is quite common to have a MemoryRegion with size of INT64_MAX.
      When processing alias regions in render_memory_region() it's quite
      easy to find a case where it will construct a temporary AddrRange with
      a non-zero start, and size still of INT64_MAX.  When means attempting
      to compute the end of such a range as start + size will result in
      signed integer overflow.
      
      This integer overflow means that addrrange_intersects() can
      incorrectly report regions as not intersecting when they do.  For
      example consider the case of address ranges {0x10000000000,
      0x7fffffffffffffff} and {0x10010000000, 0x10000000} where the second
      is in fact included completely in the first.
      
      This patch rearranges addrrange_intersects() to avoid the integer
      overflow, correcting this behaviour.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      d2963631
  12. 30 8月, 2011 1 次提交
  13. 29 8月, 2011 1 次提交
  14. 26 8月, 2011 1 次提交
  15. 25 8月, 2011 1 次提交
  16. 23 8月, 2011 2 次提交
  17. 22 8月, 2011 2 次提交
  18. 21 8月, 2011 1 次提交
  19. 12 8月, 2011 2 次提交
  20. 05 8月, 2011 2 次提交
    • A
      memory: use signed arithmetic · 8417cebf
      Avi Kivity 提交于
      When trying to map an alias of a ram region, where the alias starts at
      address A and we map it into address B, and A > B, we had an arithmetic
      underflow.  Because we use unsigned arithmetic, the underflow converted
      into a large number which failed addrrange_intersects() tests.
      
      The concrete example which triggered this was cirrus vga mapping
      the framebuffer at offsets 0xc0000-0xc7fff (relative to the start of
      the framebuffer) into offsets 0xa0000 (relative to system addres space
      start).
      
      With our favorite analogy of a windowing system, this is equivalent to
      dragging a subwindow off the left edge of the screen, and failing to clip
      it into its parent window which is on screen.
      
      Fix by switching to signed arithmetic.
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      8417cebf
    • A
      memory: synchronize dirty bitmap before unmapping a range · 39b796f2
      Avi Kivity 提交于
      When a range is being unmapped, ask accelerators (e.g. kvm) to synchronize the
      dirty bitmap to avoid losing information forever.
      
      Fixes grub2 screen update.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      39b796f2
  21. 29 7月, 2011 2 次提交