Product SiteDocumentation Site

1.225. qemu-kvm

1.225.1. RHSA-2011:0345: Moderate security update

Updated qemu-kvm packages that fix one security issue are now available for Red Hat Enterprise Linux 6.
The Red Hat Security Response Team has rated this update as having moderate security impact. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available from the CVE link in the References section.
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. qemu-kvm is the user-space component for running virtual machines using KVM. Virtual Network Computing (VNC) is a remote display system.
A flaw was found in the way the VNC "password" option was handled. Clearing a password disabled VNC authentication, allowing a remote user able to connect to the virtual machines' VNC ports to open a VNC session without authentication. (CVE-2011-0011)
All users of qemu-kvm should upgrade to these updated packages, which contain a backported patch to resolve this issue. After installing this update, shut down all running virtual machines. Once all virtual machines have shut down, start them again for this update to take effect.

1.225.2. RHBA-2010:0855: bug fix update

Updated qemu-kvm packages that fix various bugs are now available for Red Hat Enterprise Linux 6.
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. qemu-kvm is the user-space component for running virtual machines using KVM.
This update fixes the following bugs:
  • Prior to this update, virtio-net used a packet transmission algorithm that was using a timer to delay a transmission in an attempt to batch multiple packets together. However, this typically resulted in a higher latency. With this update, the default algorithm has been changed to use an asynchronous bottom half transmitter, improving the performance. (BZ#633963)
  • Due to error in the committed_memory() function, the ksmtuned service was unable to determine the correct amount of memory used by qemu-kvm processes when no such process existed. This has been fixed, the relevant part of the source code has been corrected to return 0 when no qemu-kvm process is found, and ksmtuned now works as expected. (BZ#634249)
  • * Previously, attempting to commit a copy-on-write image to a raw backing disk image using the "quemu-img commit" command may have failed with the following error:
    qemu-img: Error while committing image
    With this update, this error no longer occurs, and such images can now be committed as expected. (BZ#641835)
All users are advised to upgrade to these updated packages, which resolve these issues.

1.225.3. RHBA-2011:0012: bug fix update

Updated qemu-kvm packages that fix various bugs are now available for Red Hat Enterprise Linux 6.
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. qemu-kvm is the user-space component for running virtual machines using KVM.
This update fixes the following bugs:
  • When running a Windows Server 2008 virtual machine with a virtio network interface controller (NIC), unplugging the NIC could cause qemu-kvm to terminate unexpectedly with a segmentation fault. With this update, the underlying source code has been modified to address this issue, and unplugging such NIC while the virtual machine is active no longer causes qemu-kvm to crash. (BZ#648821)
  • Previously, qemu-kvm did not allow a user to select a resolution higher than 1920x1080, which may have been rather limiting. This update increases the maximum supported resolution to 2560x1600. (BZ#653329)
  • Due to an error in the Russian keyboard layout, pressing the "/" and "|" keys with the "ru" layout enabled produced wrong characters. With this update, the relevant lines in the ru.orig file have been corrected, and pressing these keys now produces the expected results. (BZ#653337)
  • Under certain circumstances, QEMU could stop responding during the installation of an operating system in a virtual machine when the QXL display device was in use. This error no longer occurs, and kvm-qemu now works as expected. (BZ#653341)
  • When running a virtual machine with 4 or more gigabytes of the virtual memory, an attempt to hot plug a network interface controller (NIC) failed with the following error message:
    Device '[device_name]' could not be initialized
    
    This update resolves this issue, and hot-plugging a NIC in a virtual machine with 4 or more gigabytes of the virtual memory no longer fails. (BZ#653343)
  • Previously, the conversion of a disk image by using the "qemu-img convert" command may have been significantly slow. With this update, various patches have been applied to improve the performance of the above command. (BZ#662058)
All users of qemu-kvm are advised to upgrade to these updated packages, which resolve these issues.

1.225.4. RHSA-2011:0534: Important security, bug fix, and enhancement update

Updated qemu-kvm packages that fix two security issues, several bugs, and add various enhancements are now available for Red Hat Enterprise Linux 6.
The Red Hat Security Response Team has rated this update as having important security impact. Common Vulnerability Scoring System (CVSS) base scores, which give detailed severity ratings, are linked to from the security descriptions below.
KVM (Kernel-based Virtual Machine) is a full virtualization solution for Linux on AMD64 and Intel 64 systems. qemu-kvm is the user-space component for running virtual machines using KVM.
It was found that the virtio-blk driver in qemu-kvm did not properly validate read and write requests from guests. A privileged guest user could use this flaw crash the guest or, possibly, execute arbitrary code on the host. (CVE-2011-1750)
It was found that the PIIX4 Power Management emulation layer in qemu-kvm did not properly check for hot plug eligibility during device removals. A privileged guest user could use this flaw crash the guest or, possibly, execute arbitrary code on the host. (CVE-2011-1751)
Red Hat would like to thank Nelson Elhage for reporting CVE-2011-1751.
Bug fixes:
BZ#482427
Previously, qemu-kvm did not have support for high resolution modes enabled, thus a user was unable to select a resolution higher than 1920x1080. This bug has been fixed by changing the value of the VGA_RAM_SIZE variable to 16 MB so that the user can now use high resolution modes.
BZ#498774
Previously, a virtual Windows guest user could have selected Safely Remove Hardware from the taskbar; however, hot-unplug functionality was not supported for various components, including the VGA device or virtual boot hard drive. This update disables hot-unplugging PCI devices from within Windows virtual guests.

Important

Users should be cautious when choosing to hot-unplug any emulated device from within a virtual Windows guest.
BZ#515775
Previously, disk images which used the VirtIO framework could not be resized while QEMU was running. This update fixes the problem by adding the online disk resize functionality to qemu-kvm. The user is now able to resize the VirtIO online disks.
BZ#558256
Previously, several problems that were present in QEMU's IDE CD-ROM emulation were causing the virtual guest's Linux kernel and Anaconda to fail while searching for an installation medium if the host system had multiple CPUs installed. This bug has been fixed by improving the IDE CD-ROM emulation.

Note

Under some circumstances, installation of a Red Hat Enterprise Linux 6 virtual guest can stall on searching for an installation medium; if this happens, just retry the search.
BZ#570467
Previously, the ksm and ksmtuned initscripts were not consistent in their behavior with other initscripts included in Red Hat Enterprise Linux 6. This update modifies the ksm and ksmtuned initscripts so that their behavior is now consistent.
BZ#581750
qemu-kvm terminated unexpectedly when an invalid argument was given to the vhostfd command line parameter due to improper handling of file descriptors. With this update, if an invalid argument is provided to the vhostfd parameter, qemu-kvm exits and displays an appropriate warning message.
BZ#585910
Previously, the handling of Machine Check Exceptions (MCE) in qemu-kvm did not properly handle BUS_MCEERR_AO SIGBUS signals and this caused Software Recoverable Action Optional (SRAO) MCE to kill the qemu-kvm process when a page was constantly used by the virtual guest. The problem has been fixed partly in this update, partly in the kernel update (see BZ#550938) so that SRAO MCE handling now works properly even if the page is being constantly read or written by the virtual guest.
BZ#588916
Under some circumstances, the VirtIO framework queue was filled if an application on a virtual guest repeatedly wrote to a Virtio-Serial character device while the host system was not processing the queue. Consequently, the guest entered an infinite loop and became unresponsive. Once the host side of the character device was read from, the virtual guest returned to normal functionality. The erroneous behavior has been fixed in this update and no longer occurs.
BZ#596610
Previously, when a Virtio-Serial port or device was removed before a guest booted and initialized, the device caused QEMU to exit with an error message. This bug has been fixed in this update by not checking for any unused data on the host system if the state of the VirtIO framework on the virtual guest side is not yet initialized.
BZ#602205
Previously, the e1000 emulation in qemu-kvm did not support multi-buffer packets larger than the rxbuf_size option. This caused networking to stop if the maximum transmission unit (MTU) of the e1000 virtual network interface controller (NIC) was set to the value of 16110. With this update, support for larger multi-buffer packets has been added so that the MTU can now be set to 16110.
BZ#603413
The e1000 virtual network interface controller (NIC) did not support the "SECRC" field, with the result that triggering the network crash dump facility (netdump) on a Red Hat Enterprise Linux 3 virtual guest which was based on the i386 architecture caused a failure when using the e1000 NIC emulation. The support for the SECRC field has been added so that netdump now works correctly.
BZ#604992
The qemu-kvm documentation previously contained an empty function index in Chapter 7 of the qemu-doc.html file. The problem has been fixed by removing the empty index with this update.
BZ#608548
Previously, QEMU did not align memory properly for the O_DIRECT support. As a consequence, I/O requests to a device with large sector sizes (e.g. the CD-ROM drive) did not work in the cache=none mode. This update has fixed QEMU so that it uses a properly aligned memory for the I/O requests and I/O requests to devices like the CD-ROM drives now work as expected.
BZ#609016
Due to an error in the committed_memory() function, the ksmtuned service was unable to determine the correct amount of memory used by qemu-kvm processes when no such process existed. This has been fixed and ksmtuned now works as expected.
BZ#616187
Previously, the qemu-kvm options to enable VMware device emulation were exposed to a user, although the VMware device emulation functionality was not available in Red Hat Enterprise Linux 6. This has been fixed so that the emulation options are not exposed anymore.
BZ#616659
Previously, the migration of a virtual guest from a source with a user space back end to a destination with the vhost_net back end did not work. This has been fixed by adding support for a buffer, which can be merged, to the vhost_net back end so that the migration works as expected.
BZ#617119
Under certain circumstances, QEMU could stop responding during the installation of an operating system in a virtual machine when the QXL display device was in use. This error no longer occurs with this update, and kvm-qemu now works as expected.
BZ#619168
In the case of certain memory allocation failures, QEMU terminated with only a self inflicted SIGABORT signal rather than clearly indicating the cause for failure to the user. This problem has been resolved so that an error message is now displayed, clearly indicating the failure cause.
BZ#619259
Previously, when QEMU was launched with the -cpu check command line option, the output was not as expected if a valid CPU model name was not provided. As a consequence, the -cpu check and -cpu enforce options did not work with the default CPU model and QEMU failed with a command line interface parsing error. The problem has been fixed so that it is now possible to enter "default" as a CPU model name, which allows the -cpu check and -cpu enforce options to function as expected.
BZ#621484
Previously, processes that ran within a virtual guest did not receive some of the Virtio-Serial data from processes that ran outside the virtual environment after the virtual guest's side closed a connection. This was due to QEMU's character device interface failing to detect the other end of a socket that was closed until a read attempt timed out. This bug has been fixed with this update so that no Virtio-Serial data is now lost while silently being reported as written.
BZ#623552
Under certain circumstances, some pages, which were in the "dirty" state, were not transferred to the destination host and the scp command failed during a virtual machine migration in qemu-kvm. This bug has been fixed so that scp does not fail anymore during the migration.
BZ#623735
Previously, when a VirtIO network interface controller (NIC) was hot-plugged while vhost was set as a back end, qemu-kvm terminated unexpectedly. The fix for this problem has been provided with this update so that the VirtIO NIC hot plug works correctly.
BZ#624396
Previously, when a user hot-unplugged a Virtio-Serial device and then attempted to migrate a virtual machine, the migration failed. This was due to not removing the device's state from migration data from the source virtual machine. The source virtual machine then sent the device data to the destination virtual machine, which did not expect that device, resulting in migration failure. This bug has been fixed so that the migration now works as expected.
BZ#624607
When starting a virtual machine that uses thin-provisioning (COW) disk, QEMU could have failed to connect to the virtual I/O disk and the virtual machine would go into the pause state without returning much error information. QEMU now returns more verbose error information to help you debug any I/O-related errors.
BZ#624721
Previously, when a user provided QEMU an invalid (or non-existent) initrd file, QEMU failed. As a consequence, a virtual machine was not able to start, and QEMU did not display any error message to the user either. The fix for this bug has been provided by checking for the initrd file's validity and displaying an error message in case of the file's invalidity.
BZ#624767
Previously, the Paravirtualized Network Adapter (virtio-net) used a packet transmission algorithm that was using a timer to delay a transmission in an attempt to batch multiple packets together. This problem caused a higher virtio-net transmission latency. With this update, the default algorithm has been changed so that the virtio-net transmission latency is now significantly lower.
BZ#625319
Previously, there was a bug in the removable check for virtual media change for devices with the if=none option set. The bug caused a failure when a user changed the media of virtual floppy devices. This problem has been resolved with this update so that changing the media of virtual floppy devices now works without problems.
BZ#625333
Previously, the -nodefconfig option did not work correctly in that QEMU did not read an alternate cpu-x86_64.conf file and used the default cpu-x86_64.conf file instead when combined with the -readconfig option. This bug has been fixed so that the -nodefconfig option now works as intended and expected.
BZ#628634
Previously, qemu-kvm became unresponsive when it failed to start the vhost_net back end. The bug has been fixed in this update so that qemu-kvm now works as expected when the vhost_net back end is unable to start.
BZ#632257
Previously, feature flags defined for AMD CPU models were also erroneously used for Intel CPU models by qemu64. This problem has been resolved by removing the feature flags defined for AMD CPU models from the corresponding Intel CPU model definitions.
BZ#633699
Attempting to hot-plug a network interface controller (NIC) on a virtual machine with four or more gigabytes of assigned virtual memory failed with the following error message:
Device '[device_name]' could not be initialized
This update has fixed this bug so that hot-plugging a NIC in a virtual machine with four or more gigabytes of the virtual memory no longer fails.
BZ#634661
Under certain circumstances, when a user ran a Windows Server 2008 virtual machine with a VirtIO framework network interface controller (NIC), hot-unplugging the NIC caused qemu-kvm to terminate unexpectedly with a segmentation fault. This bug has been addressed with this update so that hot-unplugging such NIC while the virtual machine is active no longer causes qemu-kvm to fail.
BZ#635354
Previously, when a user reopened the block device backing file using the qemu-img commit command, the file was reopened with the wrong format (the format of the snapshot image), and the following error message was printed:
qemu-img: Error while committing image
This bug has been fixed so that the file is now reopened with the correct backing file format.
BZ#635418
Previously, the Kernel-based Virtual Machine (KVM) registered unconditionally so that the Kernel Samepage Merging (KSM) could only be enabled/disabled globally and not selectively for each virtual machine. This update introduces a new feature to qemu-kvm to selectively decide if KVM should register in KSM or not at virtual machine startup time. This allows a user to select higher performance virtual machines that will not risk being slowed down in memory de-duplication.
BZ#635527
Previously, there was no metadata caching performed for the Kernel-based Virtual Machine (KVM) Qcow2 disk image file format, resulting in poor performance of the qemu-img rebase command. In this update, a metadata cache for Qcow2 has been introduced, and thus performance is now improved.
BZ#635954
Previously, a user could attempt to migrate a virtual machine (VM) even if the VM was tied to hardware on the hosted system due to the the device assignment. The fix for this bug has been provided in this update so that virtual machines with assigned devices will not allow a migration, ensuring the integrity of the VM. Migration is enabled again if all assigned devices are removed from the VM.
BZ#636494
Previously, when a user executed the qemu -cpu check and/or qemu -cpu enforce command, the CPU feature flags vmx and svm were not validated correctly. This could possibly cause a virtual guest's confusion if the feature flags were unintentionally exposed. This problem has been fixed by disallowing the vmx flag in all cases and the svm flag only if a nested Kernel-based Virtual Machine (KVM) is in effect.
BZ#637701
Previously, QEMU was unable to make live snapshots of an in-use disk image. This problem has been resolved so that a user is now able to make live snapshots by issuing the snapshot_blkdev command in the QEMU monitor.
BZ#638468
Previously, the VGA Bios (vgabios) for the QEMU Standard VGA expected to find the framebuffer memory at the magic address 0xe0000000. Due to the overlapping memory reservations, qemu-kvm aborted unexpectedly when the guest operating system tried to use the address space at 0xe0000000 for other spaces, e.g. mapping resources of hot-plugged PCI devices. This update changes vgabios to lookup the framebuffer memory in PCI space instead. Now, the address space at 0xe0000000 can freely be used by the guest operating system.
BZ#639437
Due to an error in the Russian keyboard layout, pressing the "/" and "|" keys with the Russian "ru" layout enabled produced the wrong characters. With this update, the relevant lines in the ru.orig file have been corrected, and pressing these keys now produces the expected results.
BZ#641127
Under certain circumstances, e.g. when using an NFS file system, errors emitted by the QEMU disk image utility (qemu-img) were ignored when a user created a disk image using the qemu-img create command. In this update, error handling of the output of the qemu-img create command has been made more reliable and the emitted errors are no longer ignored.
BZ#641833
Previously, there were several problems with the smart card support in qemu-kvm. These included waiting on the Name Service Switch (NSS) timeout during the startup of the smart card device. Also, the PC/SC Smart Card Daemon (pcscd) terminated unexpectedly when a user removed the card during a transaction. The last problem was that the device was only tested in a single card and reader setup so it only supported this particular reader/device setup. All these problems have been resolved in this update so that they no longer occur.
BZ#647308
Previously, Intel processors based on the Intel Xeon Processor E56XX, L56XX W36XX and X56XX families, and the Intel Xeon Processor E7 family were not defined as supported CPU models. As a consequence, support for the AES CPU feature flag and local attributes was missing for these Intel processors. The problem has been resolved so that these Intel processors are now included in the group of supported CPU models.
BZ#625948
Adding an rtl8139 network interface controller (NIC) to an active Windows 2008 guest could have resulted in the qemu-kvm process exiting. To work around this issue, shut down the virtual guest before adding additional rtl8139 NICs. Alternatively, install the virtio-net drivers and add a VirtIO NIC.
BZ#653536
The qemu-kvm package has been has been updated to improve the performance of converting a disk image by using the "qemu-img convert" command.
BZ#653591
If you attach a virtual I/O network interface card (NIC) that uses the rtl8139 driver to a live virtual host (commonly known as hotplugging), the virtual machine might not be able to migrate successfully because of an error in the rtl8139 driver. The driver has been updated so you can migrate virtual machines regardless of whether or not they have had a virtual I/O NIC attached to a live virtual host of not.
BZ#654682
The qemu-kvm package has been enhanced to add the 'drive_del' monitor command so that the libvirt package can force a disconnection between the guest and the host block device.
BZ#656198
A maximum of 16 ports were seen in the guest, even when you were using a serial virtual I/O device with more than 16 ports, so the guest was unable to communicate with any hosts on the ports beyond the 16th one. The guest was missing port instantiation messages because the queue size for outstanding requests from the host to the guest was too small. The queue size has now been increased to 32, enabling more outstanding requests at the same time, so now all of the allowed 31 ports can be instantiated at once.
BZ#658288
The qemu-kvm package now includes the -fake-machine patch, which adds a build-time option to enable -fake-machine. The -fake-machine option is disabled by default.
BZ#665025
When the network connection from the virtualization host to the VNC client was slow, the guest would miss clicks and movements of a virtual USB pointing device, so operations on the graphical user interfaces, including dragging and double-clicking, were difficult to perform. Now, virtual USB pointing devices buffer your clicks and movements so they behave as expected.
BZ#665299
The qemu-kvm package has been enhanced to automatically load and use the vhost-net kernel module, so performance is improved.
BZ#667188
If you detached a device to a live virtual host (commonly known as hotplugging), the qemu-kvm package did not release the memory that was used for storing device PCI Option ROM contents. Attaching and detaching devices with Option ROM caused the QEMU process size to grow. The management of memory that is used for PCI Option ROM of assigned devices has been updated so that when you remove a device, all resources that are consumed by that device are also removed.
BZ#670787
Devices consumed resources from a fixed resource pool as they were assigned to a virtual machine, and when the resource pool was exhausted, the virtual machine would unexpectedly shut down. The number of devices that can be assigned to a virtual machine has been limited to eight to avoid running out of resources, so adding devices to a virtual machine no longer triggers an unexpected shutdown.
BZ#671100
The format of some migration data was handled incorrectly, which in rare cases caused migration to fail. The format is now handled correctly and you can migrate successfully.
BZ#672191
The qemu-kvm package did not include flow control on the spice agent channel, so copying and pasting large amounts of text would make the package hang. Flow control has been added and you can now copy and paste of large amounts of text.
BZ#672229
If you detached a device to a live virtual host (commonly known as hotplugging), the qemu-kvm package did not release the memory that was used for storing device PCI Option ROM contents. Attaching and detaching devices with Option ROM caused the QEMU process size to grow. The management of memory that is used for PCI Option ROM of assigned devices has been updated so that when you remove a device, all resources that are consumed by that device are also removed.
BZ#672720
The buffer for USB control requests was too small for some devices (such as some USB cameras) when using USB passthrough, so these devices would make the qemu-kvm package display an error similar to the following: "'husb: ctrl buffer too small (3273 > 2048)'". The buffer for USB control requests has been increased from 2048 bytes to 8192 bytes, so USB passthrough now works for these devices.
BZ#674539
qemu-kvm tap code default for 'sndbuf' could prevent another guest from transmitting any packets. As a result, all networking could be blocked when sending packets to a guest which does not consume the packets. This is fixed by changing the default of the 'sndbuf' option to 0, which disables sndbuf. Now, guest networking is not blocked even when the recipient is not consuming the packets.
BZ#674562
Previously, guests running Red Hat Enterprise Linux 5 and older did not support Messaged Signaled Interrupts (MSI). On these guests, using vhost-net required higher CPU resources than userspace virtio. This update disables vhost-net for non-MSI guests, so non-MSI guests use userspace virtio-net instead of vhost-net, and get better performance.
BZ#675229
Installation of cpu-x86_64.conf into the host did not have the SRC_PATH prefix. As a result, out of tree builds failed to find the source configuration file and could not build. This update adds the missing SRC_PATH prefix to makefile, therefore building occurrs as expected.
BZ#676015
Previously, qemu-kvm enabled vhost when qemu NIC link was set to 'off'. Therefore, 'set_link <tap> off' did not work when using vhost-net. With this update, vhost is disabled when the 'set_link <tap> off' monitor command is used. The 'set_link <tap> off' monitor command now works when using vhost.
BZ#676529
Previously, creating a live snapshot for a non-existing disk triggered core dump. Now, attempting to save a snapshot for a non-existing disk yields an error message and returns qemu-kvm to the original image.
BZ#677712
A patch disabling the VMWare device emulation function caused migration from old to new qemu-kvm to fail. This issue has now been fixed, and updating qemu-kvm works as expected. Note that this bug was introduced and corrected during development, and was never seen on a production system in the field.
BZ#678208
Due to a bug in the locking logic of the spice code, qemu-kvm hanged when using certain versions of the qxl driver in the guest. This update fixes the locking logic in the spice code, so qemu-kvm does not hang anymore when using drivers such as xorg-x11-drv-qxl-0.0.12-5 in the guest.
BZ#678338
Descriptor status handling for e1000 emulation did not behave as expected, therefore using e1000 caused netperf or other workloads to fail when receiving large packets. This update fixes the e1000 emulation code according to the hardware specification with regards to the status byte on buffer descriptors. As a result, e1000 emulation now works under higher network load.
BZ#678524
Previously, all child processes were "reaped" without distinction by qemu-kvm's SIGCHLD handler. This SIGCHLD handler conflicted with the VM save code, therefore virtual machines could not be saved. This update allows the SIGCHLD handler to only reap specific child processes. qemu-kvm SIGCHLD handler no longer reaps processes created from VM save operations, so saving virtual machines succeeds.
BZ#680058
When devices were removed from QEMU, the device assignment code only removed resources that had been mapped into the guest address space. If an assigned device is removed before the guest mapped the device resources, open file handles could be leaked. Upon repetition, the QEMU process would reach its limit of open file handles. This update closes all file handles for assigned devices when the device is removed, so file handles are no longer leaked.
BZ#681777
During migration, the media_changed flag was not saved and restored in the floppy migration code, therefore floppy drives became unusable. The floppy migration code is now fixed, so transferring files to floppy drives works as expected.
BZ#682243
Due to a bug in the virtio-pci loading of the bus-master flag during migration, using PCI hotplug after live migration of a virtual machine disabled the virtio-net interface. This update fixes the bus master flag loading on virtio-pci migration code, so virtio-net works as expected with PCI hotplug after live migration.
BZ#683295
A bug in the QEMU option parse code caused the vhost_force option to be unusable. This issue has now been fixed, and vhost_force option can be used to force start vhost_net backend.
BZ#683877
Changing virtual CD-ROM images on a guest did not invalidate the previous disc's geometry information, so the new CD-ROM's disk size was not updated. With this update, guests properly detect changed discs and invoke their disc revalidation code, causing the correct disc geometry to be reported and used.
BZ#684076
An address conversion bug in the vhost migration dirty page handling code resulted in a segmentation error during live migration of KVM virtual machines. This update corrects the address conversion in the vhost migration dirty page handling code, so qemu-kvm no longer crashes during live migration.
BZ#685147
Devices that are attached to a virtual machine might continue direct memory access (DMA) operations after the virtual machine has been reset, which might result in DMA operations overwriting guest memory. Any devices that are attached to a virtual machine are now reset when the virtual machine is reset, so the devices are quiesced and no longer continue DMA operations after the virtual machine has been reset.
BZ#688058
A bug in the serial number setting code of the qemu-kvm package caused drive serial numbers to get truncated to eight characters. The code has been updated and the drive serial numbers are no longer truncated.
BZ#688119
qcow2_open() error handling returned a value of -1 rather than correct error codes, which led to misleading error messages because a value of -1 is interpreted as EPERM by callers. Also, qcow2 images with a version number of greater than two should return -ENOTSUP, but were instead detected as raw images. Correct -errno error return values have been added to the qcow2_open() function, so any permission errors and unsupported qcow versions are correctly reported when opening qcow2 images.
BZ#688146
qcow2 would incorrectly handle or ignore some errors, which could cause image corruption. Error handling fixes on qcow2 code have been backported, so qcow2 now handles errors more safely and avoids image corruption when errors occur.
BZ#688147
For a QCOW2 image that is larger than its base image, when handling a read request that extends over the end of the base image, the QCOW2 driver attempts to read beyond the end of the base image. However, these I/O requests would fail because of an error in the QCOW2 code. The code has been updated and now for a QCOW2 image that is larger than its base image, when handling a read request that extends over the end of the base image, I/O requests succeed.
BZ#688572
The spice-server would not switch back to server mouse mode if the guest spice-agent died, so users were left with a non-functional mouse. Now, the virtio-console notifies spice-chardev when a guest opens or closes, so the mouse is functional even when spice-agent is stopped in the guest.
BZ#690174
When virtio-serial loaded live migration data, it would not validate the port ID, which could crash qemu-kvm. The port ID is now validated, and virtio_serial_load() aborts incoming migration if it finds an invalid port ID.
BZ#690267
The performance of qemu_get_ram_ptr() was suboptimal and led to a higher use of CPU when booting a virtual machine. qemu_get_ram_ptr() has been updated and now skips some qlist manipulations if the ramblock that is found is already the first in the list, so virtual machine boot times have been improved.
BZ#691704
VGA memory region update notifications caused vhost-net to make many map flushing operations, which would slow booting of Windows guests with large amounts of memory (for example, 256GB). The virtual host now skips VGA memory regions when handling memory region update notifications, so the virtual host no longer slows booting of Windows guests with large amounts of memory.
BZ#693741
Because qemu-img tried to open backing files as read-write, the qemu-img rebase command failed if the new backing file was read-only. The qemu-img rebase command has been updated and can now open new backing files as read-only.
Enhancements:
BZ#633394
This update increases the performance and scalability of the VirtIO framework by reducing the amount of time taken from virtual guests, and allowing the virtual guests CPU and I/O operations to run in parallel.
BZ#647307
This update adds support for KVM devices that make use of the MMIO PCI Base Address Registers (BARs), which are smaller than 4k (i.e. sub-4k MMIO PCI BARs).
BZ#632722
This update introduces support for tracing of events within QEMU; the tracing is similar in its style to DTrace. When used in conjunction with SystemTap, it is now possible to trace internal QEMU events such as I/O operations and memory allocations.
BZ#624790
This updates comes with an improved Kernel-based Virtual Machine (KVM) device assignment in that the PCI configuration space support has been improved to work with a broader assortment of devices, including the Exar X3100 series 10 Gigabit Ethernet cards.
BZ#645342
In this update, the ability to expose an emulated Intel HDA sound card to all virtual guests has been added. This update enables native sound support for many virtual guests, including the 64-bit version of Windows 7.
BZ#631832
The qemu-kvm man page has been updated with information on available -spice options.
All users of qemu-kvm should upgrade to these updated packages, which contain backported patches to resolve these issues, and [something about bug fixes in technical notes]. After installing this update, shut down all running virtual machines. Once all virtual machines have shut down, start them again for this update to take effect.