1. 13 3月, 2009 2 次提交
  2. 12 3月, 2009 2 次提交
  3. 09 3月, 2009 1 次提交
  4. 08 3月, 2009 2 次提交
  5. 06 3月, 2009 7 次提交
  6. 04 3月, 2009 1 次提交
    • A
      Fix CVE-2008-0928 - insufficient block device address range checking (Anthony Liguori) · 71d0770c
      aliguori 提交于
      Introduce a growable flag that's set by bdrv_file_open().  Block devices should
      never be growable, only files that are being used by block devices.
      
      I went through Fabrice's early comments about the patch that was first applied.
      While I disagree with that patch, I also disagree with Fabrice's suggestion.
      
      There's no good reason to do the checks in the block drivers themselves.  It
      just increases the possibility that this bug could show up again.  Since we're
      calling bdrv_getlength() to determine the length, we're giving the block drivers
      a chance to chime in and let us know what range is valid.
      
      Basically, this patch makes the BlockDriver API guarantee that all requests are
      within 0..bdrv_getlength() which to me seems like a Good Thing.
      
      What do others think?
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6677 c046a42c-6fe2-441c-8c8c-71466251a162
      71d0770c
  7. 03 3月, 2009 1 次提交
  8. 06 2月, 2009 1 次提交
  9. 27 1月, 2009 1 次提交
  10. 23 1月, 2009 3 次提交
  11. 16 1月, 2009 1 次提交
  12. 06 12月, 2008 2 次提交
  13. 26 11月, 2008 1 次提交
  14. 09 11月, 2008 1 次提交
  15. 14 10月, 2008 2 次提交
  16. 06 10月, 2008 1 次提交
  17. 23 9月, 2008 1 次提交
    • A
      Refactor AIO to allow multiple AIO implementations · a76bab49
      aliguori 提交于
      This patch refactors the AIO layer to allow multiple AIO implementations.  It's
      only possible because of the recent signalfd() patch.  
      
      Right now, the AIO infrastructure is pretty specific to the block raw backend.
      For other block devices to implement AIO, the qemu_aio_wait function must
      support registration.  This patch introduces a new function,
      qemu_aio_set_fd_handler, which can be used to register a file descriptor to be
      called back.  qemu_aio_wait() now polls a set of file descriptors registered
      with this function until one becomes readable or writable.
      
      This patch should allow the implementation of alternative AIO backends (via a
      thread pool or linux-aio) and AIO backends in non-traditional block devices
      (like NBD).
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5297 c046a42c-6fe2-441c-8c8c-71466251a162
      a76bab49
  18. 18 9月, 2008 1 次提交
  19. 15 9月, 2008 1 次提交
    • A
      Use common objects for qemu-img and qemu-nbd · 03ff3ca3
      aliguori 提交于
      Right now, we sprinkle #if defined(QEMU_IMG) && defined(QEMU_NBD) all over the
      code.  It's ugly and causes us to have to build multiple object files for
      linking against qemu and the tools.
      
      This patch introduces a new file, qemu-tool.c which contains enough for
      qemu-img, qemu-nbd, and QEMU to all share the same objects.
      
      This also required getting qemu-nbd to be a bit more Windows friendly.  I also
      changed the Windows block-raw to use normal IO instead of overlapping IO since
      we don't actually do AIO yet on Windows.  I changed the various #if 0's to
       #if WIN32_AIO to make it easier for someone to eventually fix AIO on Windows.
      
      After this patch, there are no longer any #ifdef's related to qemu-img and
      qemu-nbd.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5226 c046a42c-6fe2-441c-8c8c-71466251a162
      03ff3ca3
  20. 14 9月, 2008 1 次提交
  21. 13 9月, 2008 1 次提交
  22. 12 9月, 2008 1 次提交
  23. 10 9月, 2008 1 次提交
    • A
      Use signalfd() to work around signal/select race · baf35cb9
      aliguori 提交于
      This patch introduces signalfd() to work around the signal/select race in
      checking for AIO completions.  For platforms that don't support signalfd(), we
      emulate it with threads.
      
      There was a long discussion about this approach.  I don't believe there are any
      fundamental problems with this approach and I believe eliminating the use of
      signals is a good thing.
      
      I've tested Windows and Linux using Windows and Linux guests.  I've also checked
      for disk IO performance regressions.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5187 c046a42c-6fe2-441c-8c8c-71466251a162
      baf35cb9
  24. 30 8月, 2008 1 次提交
  25. 22 8月, 2008 1 次提交
    • A
      Fix windows build · cd01b4a3
      aliguori 提交于
      Right now, the Windows build is broken because of NBD.  Using a mingw32 cross
      compiler is also badly broken.
      
      This patch fixes the Windows build by stubbing out NBD support until someone
      fixes it for Windows.  It also santizing the mingw32 cross compiler support
      by replacing the --enable-mingw32 option with a compiler check to determine
      if we're on windows or not.
      
      Also remove the weird SDL pseudo-detection for mingw32 using a cross compiler.
      The hardcoded sdl-config name is seemly arbitrary.  If you cross compiler SDL
      correctly and modify your PATH variable appropriately, it will Just Work when
      cross compiling.
      
      The audio driver detection is also broken for cross compiling so you have to
      specify the audio drivers explicitly for now.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      
      
      
      
      git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5046 c046a42c-6fe2-441c-8c8c-71466251a162
      cd01b4a3
  26. 03 7月, 2008 1 次提交
  27. 06 6月, 2008 1 次提交