Red Hat Bugzilla – Bug 592070
sign extension error in libvirt's parsing of qemu options
Last modified: 2010-09-09 06:30:01 EDT
Description of problem:
An incorrect enum value causes extra bits to be set in the qemu capabilities mask of libvirt. It is possible to write an XML file that tries to use the capabilities that the bug said were present, but which are not supported by the system's qemu.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Use libvirt to set up a domain run by a version of qemu-kvm that supports virtio networking (corresponding to QEMUD_CMD_FLAG_VNET_HOST in libvirt 0.8.1 qemu_conf.h).
Because the vnet-host bit was improperly defined with sign-extension, higher bits like QEMUD_CMD_FLAG_RTC_TD_HACK will be set, even if qemu does not support -rtc-td-hack.
Detecting vnet-host support should not detect unrelated qemu features.
Proposed upstream patch:
This feature request did not get resolved in time for Feature Freeze
for the current Red Hat Enterprise Linux release and has now been
denied. You may re-open your request by requesting your support
representative to propose it for the next release.
Silly bug bot seeing the word 'feature' and adding the FutureFeature keyword.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
Created attachment 415268 [details]
qemu_conf: fix flag value
Upstream patch had merge conflicts with RHEL-6 spice patches; this attachment applies cleanly to 0.8.1-6.el6 sources.
Created attachment 415282 [details]
v2 of patch; fixes 'make distcheck'
libvirt-0.8.1-7.el6 has been built in RHEL-6-candidate with the fix.
Verified with libvirt-0.8.1-9.el6.x86_64. Moving to VERIFIED.
# virsh start rhel6
Domain rhel6 started
# ps -ef|grep qemu-kvm
Red Hat Enterprise Linux Beta 2 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.
Verified with libvirt-0.8.1-27.el6.x86_64 & qemu-kvm-0.12.1.2-2.113.el6.x86_64.
# ps -ef|grep qemu-kvm
-netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:21:85:a9,bus=pci.0,addr=0x3