Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1342962 - libvirt limits chassisNr for pci bridge to between 0 and 255, however, qemu does not support chassis_nr=0
libvirt limits chassisNr for pci bridge to between 0 and 255, however, qemu d...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt (Show other bugs)
7.3
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Laine Stump
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-06-06 04:40 EDT by yangyang
Modified: 2016-11-03 14:46 EDT (History)
5 users (show)

See Also:
Fixed In Version: libvirt-2.0.0-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-11-03 14:46:33 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:2577 normal SHIPPED_LIVE Moderate: libvirt security, bug fix, and enhancement update 2016-11-03 08:07:06 EDT

  None (edit)
Description yangyang 2016-06-06 04:40:35 EDT
Description of problem:
libvirt limits chassisNr for pci bridge to between 0 and 255,
however, qemu does not support chassis_nr=0

Version-Release number of selected component (if applicable):
libvirt-1.3.4-1.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. edit xml and set chassisNr for pci bridge to -1
 
# virsh edit vm1
<controller type='pci' index='1' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='-1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>

error: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng
Extra element devices in interleave
Element domain failed to validate content
error: XML error: PCI controller chassisNr '-1' out of range - must be 0-255
Failed. Try again? [y,n,i,f,?]:

2. edit xml and set chassisNr for pci bridge to 0
# virsh edit vm1
<controller type='pci' index='1' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>
Domain vm1 XML configuration edited.

# virsh start vm1
error: Failed to start domain vm1
error: internal error: early end of file from monitor, possible problem: warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
2016-06-06T08:26:59.778510Z qemu-kvm: -device pci-bridge,chassis_nr=0,id=pci.1,bus=pci.0,addr=0x8: Bridge chassis not specified. Each bridge is required to be assigned a unique chassis id > 0.
2016-06-06T08:26:59.779116Z qemu-kvm: -device pci-bridge,chassis_nr=0,id=pci.1,bus=pci.0,addr=0x8: Device initialization fa

Actual results:
chassis id is numbered in [1,255]

Expected results:
libvirt limits chassisNr for pci bridge to between 1 and 255, and
modify the doc


Additional info:
Comment 2 Laine Stump 2016-06-20 15:05:41 EDT
This is a trivial fix:

https://www.redhat.com/archives/libvir-list/2016-June/msg01313.html
Comment 3 Laine Stump 2016-06-22 11:55:49 EDT
Pushed upstream, will be in the 2.0.0 release:

commit df2fb9bfff7906296d191de3431384b2e0729257
Author: Laine Stump <laine@laine.org>
Date:   Mon Jun 20 14:24:35 2016 -0400

    conf: limit chassisNr, and busNr to a minimum value of 1, not 0
Comment 5 Han Han 2016-08-18 05:50:06 EDT
Verify it on libvirt-2.0.0-5.el7.x86_64
1. Negative test, set chassisNr to 0
# virsh edit V
...
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='pci' index='1' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>
...
error: XML error: PCI controller chassisNr '0' out of range - must be 1-255
Failed. Try again? [y,n,i,f,?]: 

2. Negative test, set busNr to 0
# virsh edit V
...
<controller type='pci' index='0' model='pci-root'/>
<controller type='pci' index='1' model='pci-expander-bus'>
<model name='pxb'/>
<target busNr='0'>
         <node>1</node>
      </target>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</controller>
...
error: XML error: PCI controller busNr '0' out of range - must be 1-254
Failed. Try again? [y,n,i,f,?]:
Comment 7 errata-xmlrpc 2016-11-03 14:46:33 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-2577.html

Note You need to log in before you can comment on or make changes to this bug.