aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * fix undefined shifts by >32Paolo Bonzini2010-02-271-2/+2
| | | | | | | | | | | | | | | | This one is for 0.12 too. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com> (cherry picked from commit 0dfbd514460045e3af1ed6805ab97ffedbbd1ab2)
| * Fix qemu -net user,hostfwd= exampleAurelien Jarno2010-02-271-1/+1
| | | | | | | | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit aa375206189b7de7c23ad9de66413fb7d4497940)
* | pci passthrough: zap option rom scanning.Gerd Hoffmann2010-03-251-75/+0
| | | | | | | | | | | | | | | | | | | | Nowdays (qemu 0.12) seabios loads option roms from pci rom bars. So there is no need any more to scan for option roms and have qemu load them. Zap the code. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> (cherry picked from commit 51c0dad5ce383be94ca7c46e491ada17cc9ec416)
* | Bail out when VCPU_CREATE failsAlexander Graf2010-03-241-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we fail to create a VCPU we have no way to tell our callers that something failed. So the caller happily uses a completely broken state. This code should become deprecated in the process of converting qemu-kvm to qemu anyways, so let's not care about remdeling it but just bailing out when something breaks. Also give the user a hint on why the VCPU_CREATE might have failed. This fixes a segmentation fault with -smp > VCPU_MAX in the host kernel. Signed-off-by: Alexander Graf <agraf@suse.de> Reported-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Avi Kivity <avi@redhat.com>
* | Merge branch 'stable-0.12-merge' into stable-0.12Marcelo Tosatti2010-02-2553-262/+594
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-0.12-merge: (52 commits) Update version and change for 0.12.3 release qcow2: Fix access after end of array ide save/restore pio/atapi cmd transfer fields and io buffer net: Monitor command set_link finds only VLAN clients, fix net: info network shows only VLAN clients, fix net: net_check_clients() checks only VLAN clients, fix net: Fix bogus "Warning: vlan 0 with no nics" with -device net: net_check_clients() runs too early to see -device, fix net: Remove unused net_client_uninit() don't dereference NULL after failed strdup virtio-net: fix network stall under load json: fix PRId64 on Win32 fix inet_parse typo iothread: fix vcpu stop with smp tcg segfault due to buffer overrun in usb-serial qcow2: Fix signedness bugs Do not ignore error, if open file failed (-serial /dev/tty) pc-bios: update to newer version of (stable) seabios kvm: Fix eflags corruption in kvm mode target-mips: fix ROTR and DROTR by zero ... Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | Merge commit '6173d56bdcb53389c54e803873e6bf8f87836a4f' into stable-0.12-mergeMarcelo Tosatti2010-02-2532-137/+328
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6173d56bdcb53389c54e803873e6bf8f87836a4f': (27 commits) Update version and change for 0.12.3 release qcow2: Fix access after end of array ide save/restore pio/atapi cmd transfer fields and io buffer net: Monitor command set_link finds only VLAN clients, fix net: info network shows only VLAN clients, fix net: net_check_clients() checks only VLAN clients, fix net: Fix bogus "Warning: vlan 0 with no nics" with -device net: net_check_clients() runs too early to see -device, fix net: Remove unused net_client_uninit() don't dereference NULL after failed strdup virtio-net: fix network stall under load json: fix PRId64 on Win32 fix inet_parse typo iothread: fix vcpu stop with smp tcg segfault due to buffer overrun in usb-serial qcow2: Fix signedness bugs Do not ignore error, if open file failed (-serial /dev/tty) pc-bios: update to newer version of (stable) seabios kvm: Fix eflags corruption in kvm mode target-mips: fix ROTR and DROTR by zero ... Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> modified: net/slirp.c
| | * Merge remote branch 'qemu-kvm/uq/stable-0.12' into stable-0.12Anthony Liguori2010-02-230-0/+0
| | |\
| | | * kvm: Fix eflags corruption in kvm modeJan Kiszka2010-02-211-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should explain a lot of the weird breakages of upstream KVM we've seen recently (actually we should have seen it much earlier): Stop translating eflags into TCG format when in kvm mode as we never translate it back and rather sync this broken state into the kernel. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
| | * | Update version and change for 0.12.3 releaseAnthony Liguori2010-02-232-1/+53
| | | | | | | | | | | | | | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| | * | qcow2: Fix access after end of arrayKevin Wolf2010-02-231-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a write requests crosses a L2 table boundary and all clusters until the end of the L2 table are usable for the request, we must not look at the next L2 entry because we already have arrived at the end of the array. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 4805bb66969622f86376191c94c4748bce91e6be)
| | * | ide save/restore pio/atapi cmd transfer fields and io bufferMarcelo Tosatti2010-02-232-2/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Save/restore information necessary to continue in progress PIO/ATAPI CMD transfers. This includes the IO buffer. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit ed487bb1d69040b9dac64a4fc076d8dd82b131d6)
| | * | net: Monitor command set_link finds only VLAN clients, fixMarkus Armbruster2010-02-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clients not associated with a VLAN exist since commit d80b9fc6. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 2583ba97ef1de6040b7d0afd2b66737515de5423)
| | * | net: info network shows only VLAN clients, fixMarkus Armbruster2010-02-231-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clients not associated with a VLAN exist since commit d80b9fc6. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit a0104e0ec7939781d79ca4b54ebedd5fd3360151)
| | * | net: net_check_clients() checks only VLAN clients, fixMarkus Armbruster2010-02-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clients not associated with a VLAN exist since commit d80b9fc6. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit efe32fdde15e5764cfbc68cb2d61737681b1e096)
| | * | net: Fix bogus "Warning: vlan 0 with no nics" with -deviceMarkus Armbruster2010-02-237-28/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net_check_clients() prints this when an VLAN has host devices, but no guest devices. It uses VLANState members nb_guest_devs and nb_host_devs to keep track of these devices. However, -device does not update nb_guest_devs, only net_init_nic() does that, for -net nic. Check the VLAN clients directly, and remove the counters. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 62112d181ca33fea976100c4335dfc3e2f727e6c)
| | * | net: net_check_clients() runs too early to see -device, fixMarkus Armbruster2010-02-233-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call it right after -device devices get created. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 668680f75feea79704c603b96126c0833e1ed9a9)
| | * | net: Remove unused net_client_uninit()Markus Armbruster2010-02-232-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unused since commit 9ad4531e. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 7f76abe1c9d880050ba31ff827b3ff5cbc8175a7)
| | * | don't dereference NULL after failed strdupJim Meyering2010-02-234-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most of these are obvious NULL-deref bug fixes, for example, the ones in these files: block/curl.c net.c slirp/misc.c and the first one in block/vvfat.c. The others in block/vvfat.c may not lead to an immediate segfault, but I traced the two schedule_rename(..., strdup(path)) uses, and a failed strdup would appear to trigger this assertion in handle_renames_and_mkdirs: assert(commit->path); The conversion to use qemu_strdup in envlist_to_environ is not technically needed, but does avoid a theoretical leak in the caller when strdup fails for one value, but later succeeds in allocating another buffer(plausible, if one string length is much larger than the others). The caller does not know the length of the returned list, and as such can only free pointers until it hits the first NULL. If there are non-NULL pointers beyond the first, their buffers would be leaked. This one is admittedly far-fetched. The two in linux-user/main.c are worth fixing to ensure that an OOM error is diagnosed up front, rather than letting it provoke some harder-to-diagnose secondary error, in case of exec failure, or worse, in case the exec succeeds but with an invalid list of command line options. However, considering how unlikely it is to encounter a failed strdup early in main, this isn't a big deal. Note that adding the required uses of qemu_strdup here and in envlist.c induce link failures because qemu_strdup is not currently in any library they're linked with. So for now, I've omitted those changes, as well as the fixes in target-i386/helper.c and target-sparc/helper.c. If you'd like to see the above discussion (or anything else) in the commit log, just let me know and I'll be happy to adjust. >From 9af42864fd1ea666bd25e2cecfdfae74c20aa8c7 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering@redhat.com> Date: Mon, 8 Feb 2010 18:29:29 +0100 Subject: [PATCH] don't dereference NULL after failed strdup Handle failing strdup by replacing each use with qemu_strdup, so as not to dereference NULL or trigger a failing assertion. * block/curl.c (curl_open): s/\bstrdup\b/qemu_strdup/ * block/vvfat.c (init_directories): Likewise. (get_cluster_count_for_direntry, check_directory_consistency): Likewise. * net.c (parse_host_src_port): Likewise. * slirp/misc.c (fork_exec): Likewise. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 6265eb26a375179f193f792e4f0d49036d2cf052)
| | * | virtio-net: fix network stall under loadTom Lendacky2010-02-231-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a race condition where qemu finds that there are not enough virtio ring buffers available and the guest make more buffers available before qemu can enable notifications. Signed-off-by: Tom Lendacky <toml@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 06b1297017415ae6a07a0e97ad7d8e90b2d95823)
| | * | json: fix PRId64 on Win32Roy Tam2010-02-232-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OK we are fooled by the json lexer and parser. As we use %I64d to print 'long long' variables in Win32, but lexer and parser only deal with %lld but not %I64d, this patch add support for %I64d and solve 'info pci', 'powser_reset' and 'power_powerdown' assert failure in Win32. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 2c0d4b36e7fe28c569c5436f7724735e35d3c493)
| | * | fix inet_parse typoMarcelo Tosatti2010-02-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qemu_opt_set wants on/off, not yes/no. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 2198a62eb2518b61c3fc7db26515f106e7498932)
| | * | iothread: fix vcpu stop with smp tcgMarcelo Tosatti2010-02-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Round robin vcpus in tcg_cpu_next even if the vm stopped. This allows all cpus to enter stopped state. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit c37cc7b072fa4ca8d8d21ac31d26baff5f47f9f9)
| | * | segfault due to buffer overrun in usb-serialDavid S. Ahern2010-02-231-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a segfault due to buffer overrun in the usb-serial device. The memcpy was incrementing the start location by recv_used yet, the computation of first_size (how much to write at the end of the buffer before wrapping to the front) was not accounting for it. This causes the next element after the receive buffer (recv_ptr) to get overwritten with random data. Signed-off-by: David Ahern <daahern@cisco.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 4ab4183d766f10f9fc35cd9ef4acee39f241986f)
| | * | qcow2: Fix signedness bugsKevin Wolf2010-02-232-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checking for return codes < 0 isn't really going to work with unsigned types. Use signed types instead. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit f4f0d391b26afcce86df85566788be7170127116)
| | * | Do not ignore error, if open file failed (-serial /dev/tty)Evgeniy Dushistov2010-02-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case, when qemu is executed with option like -serial /dev/ttyS0, report if there are problems with opening of devices. At now errors are silently ignoring. Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit afc535acb579a7808d9ff170088c839a29c61dc9)
| | * | pc-bios: update to newer version of (stable) seabiosAnthony Liguori2010-02-232-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 9fb3f4d Fix PkgLength calculation for the SSDT. - 6d75be2 Go back to using 0xf0000000 for PCI memory start. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| | * | kvm: Fix eflags corruption in kvm modeJan Kiszka2010-02-231-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should explain a lot of the weird breakages of upstream KVM we've seen recently (actually we should have seen it much earlier): Stop translating eflags into TCG format when in kvm mode as we never translate it back and rather sync this broken state into the kernel. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
| | * | target-mips: fix ROTR and DROTR by zeroAurelien Jarno2010-02-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from HEAD (cc3f20fee2c9bea3793bf873c531ae6baf68df3a) Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| | * | target-mips: fix CpU exception for coprocessor 0Nathan Froyd2010-02-231-1/+1
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | When we signal a CpU exception for coprocessor 0, we should indicate that it's for coprocessor 0 instead of coprocessor 1. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit 13f160cebd0778113ba8d251aea297286b1666cb)
| | * tcg/mips: fix crash in tcg_out_qemu_ld()Aurelien Jarno2010-02-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | The address register is overriden when it corresponds to v0 and the fast path is taken, which leads to a crash. Fix that by using the a0 register instead. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit cca1af8c4d2ef6449fd61494ba2cb087b838011c)
| | * target-mips: don't call cpu_loop_exit() from helper.cAurelien Jarno2010-02-063-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | In helper.c AREG0 may not correspond do env, so it's not possible to call cpu_loop_exit() here. Call it from op_helper.c instead. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> (cherry picked from commit c36bbb28ad62b4b1f494df0b199432d8c79876db)
| | * virtio-blk: Fix error cases which ignored rerror/werrorKevin Wolf2010-01-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | If an I/O request fails right away instead of getting an error only in the callback, we still need to consider rerror/werror. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 6c510fbf601fd8c6891b2f1d7165ceb82308a16f)
| | * virtio-blk: Fix restart after read errorKevin Wolf2010-01-291-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current code assumes that only write requests are ever going to be restarted. This is wrong since rerror=stop exists. Instead of directly starting writes, use the same request processing as used for new requests. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit f1b5286803ee66f73034f1f5e0e1cf14f4415f94)
| | * virtio_blk: Factor virtio_blk_handle_request outKevin Wolf2010-01-291-32/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | We need a function that handles a single request. Create one by splitting out code from virtio_blk_handle_output. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit bc6694d43a68baa864dba7742354a379a3347f33)
| * | Merge commit '299e0bc52a5d56ff89ad8d7d09c82233cd8ccb6a' into stable-0.12-mergeMarcelo Tosatti2010-02-2517-105/+199
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '299e0bc52a5d56ff89ad8d7d09c82233cd8ccb6a': cirrus: Properly re-register cirrus_linear_io_addr on vram unmap qcow2: Don't ignore qcow2_alloc_clusters return value qcow2: Don't ignore update_refcount return value qcow2: Allow updating no refcounts qcow2: Improve error handling in update_refcount qcow2: Fix error handling in grow_refcount_table block: Return original error codes in bdrv_pread/write qcow2: Return 0/-errno in qcow2_alloc_cluster_offset qcow2: Return 0/-errno in get_cluster_table qcow2: Fix error handling in qcow_save_vmstate qcow2: Fix error handling in qcow2_grow_l1_table win32/sdl: Fix toggle full screen win32: pair qemu_memalign() with qemu_vfree() vnc_refresh: calling vnc_update_client might free vs Musicpal: Fix descriptor walk in eth_send Musicpal: Fix wm8750 I2C address fix savevm command without id or tag reduce number of reinjects on ACK QMP: Fix asynchronous events delivery Conflicts: hw/cirrus_vga.c Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| | * cirrus: Properly re-register cirrus_linear_io_addr on vram unmapJan Kiszka2010-01-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes CONFIG_FB_CIRRUS for Linux guests and probably much more: When switching away from linearly mapped vram, we also have to restore the I/O handlers for the LFB. This regression was once introduced by commit 2bec46dc97. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 4516e45f82b7ee0cedce875477e785989a719b67)
| | * qcow2: Don't ignore qcow2_alloc_clusters return valueKevin Wolf2010-01-273-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that qcow2_alloc_clusters can return error codes, we must handle them in the callers of qcow2_alloc_clusters. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 5d757b563d59142ca81e1073a8e8396750a0ad1a)
| | * qcow2: Don't ignore update_refcount return valueKevin Wolf2010-01-271-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | update_refcount can return errors that need to be handled by the callers. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit db3a964fb6d66bd50faca76968479bb62ed25330)
| | * qcow2: Allow updating no refcountsKevin Wolf2010-01-271-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's absolutely no problem with updating the refcounts of 0 clusters. At least snapshot code is doing this and would fail once the result of update_refcount isn't ignored any more. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 7322afe7eaa7211285a38ccfb754a0a52911e394)
| | * qcow2: Improve error handling in update_refcountKevin Wolf2010-01-271-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | If update_refcount fails, try to undo any changes made so far to avoid inconsistencies in the image file. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 09508d13f3874d07bf25f8dd9f5303cbd8139d1b)
| | * qcow2: Fix error handling in grow_refcount_tableKevin Wolf2010-01-271-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | Return the appropriate error code instead of -EIO. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit f2b7c8b37045e0e030ef027cfb6d574558fb732a)
| | * block: Return original error codes in bdrv_pread/writeKevin Wolf2010-01-271-16/+18
| | | | | | | | | | | | | | | | | | | | | | | | Don't assume -EIO but return the real error. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 9a8c4cceaf670193270995b95378faa3867db999)
| | * qcow2: Return 0/-errno in qcow2_alloc_cluster_offsetKevin Wolf2010-01-273-29/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returning 0/-errno allows it to distingush different errors classes. The cluster offset of newly allocated clusters is now returned in the QCowL2Meta struct. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 148da7ea9d66bad0d5b6512074fbedc4e2640e8f)
| | * qcow2: Return 0/-errno in get_cluster_tableKevin Wolf2010-01-271-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | Switching to 0/-errno allows it to distinguish different error cases. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 1e3e8f1a437cafa3b23486aea36be3c9c0bd4e28)
| | * qcow2: Fix error handling in qcow_save_vmstateKevin Wolf2010-01-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Don't assume success but pass the bdrv_pwrite return value on. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 1d36e3aae338a71ba449f561b6343bb313f70968)
| | * qcow2: Fix error handling in qcow2_grow_l1_tableKevin Wolf2010-01-271-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Return the appropriate error value instead of always using EIO. Don't free the L1 table on errors, we still need it. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit fb8fa77ce143b0911658b4bcbe641c869e26ceee)
| | * win32/sdl: Fix toggle full screenHerve Poussineau2010-01-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Toggle full screen on Win32/SDL 1.2.13 was broken by commit c18a2c360e3100bbd71162cf922dcd8c429a8b71. Re-add the call to do_sdl_resize() which was removed in this revision Signed-off-by: Herve Poussineau <hpoussin@reactos.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit a35aed57bf47584b5f55b71acf8daba19decf12a)
| | * win32: pair qemu_memalign() with qemu_vfree()Herve Poussineau2010-01-265-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Win32 suffers from a very big memory leak when dealing with SCSI devices. Each read/write request allocates memory with qemu_memalign (ie VirtualAlloc) but frees it with qemu_free (ie free). Pair all qemu_memalign() calls with qemu_vfree() to prevent such leaks. Signed-off-by: Herve Poussineau <hpoussin@reactos.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit f8a83245d9ec685bc6aa6173d6765fe03e20688f)
| | * vnc_refresh: calling vnc_update_client might free vsStefano Stabellini2010-01-261-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi all, this patch fixes another bug in vnc_refresh: calling vnc_update_client might cause vs to be free()ed, in this case we cannot access vs->next right after to examine the next item on the list. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> (cherry picked from commit 6185c5783c50ab5bb4bcdc317772848278cb9bc1)
| | * Musicpal: Fix descriptor walk in eth_sendJan Kiszka2010-01-261-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 930c86820e introduced a regression to eth_send: eth_tx_desc_put manipulates the host's tx descriptor copy before writing it back, but two lines down the descriptor is evaluated again, leaving us with an invalid next address if host and guest endianness differ. So this was the actual issue commit 2e87c5b937 tried to paper over. Signed-off-by: Jan Kiszka <jan.kiszka@web.de> Signed-off-by: malc <av1474@comtv.ru> (cherry picked from commit 07b064e9de65a26a4cb36dfb37c7506ef17407fd) Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>