Bug 1132347
| Summary: | Libvirt crash after defining/editing macvtap network pool with <address> elements | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Hu Jianwei <jiahu> |
| Component: | libvirt | Assignee: | Peter Krempa <pkrempa> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.0 | CC: | dyuan, honzhang, lcheng, libvirt-maint, mzhan, pkrempa, rbalakri, virt-bugs |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-1.2.8-1.el7 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1131872 | Environment: | |
| Last Closed: | 2015-03-05 07:43:05 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1131872 | ||
| Bug Blocks: | |||
|
Description
Hu Jianwei
2014-08-21 08:14:56 UTC
Fixed upstream:
commit 4cf1c3fab138462fc9c014aee853fa17f278c5df
Author: Peter Krempa <pkrempa>
Date: Thu Aug 21 11:06:37 2014 +0200
conf: net: Correctly switch how to format address fields
When formatting the forward mode addresses or interfaces the switch was
done based on the type of the network rather than of the type of the
individual <interface>/<address> element. In case a user would specify
an incorrect network type ("passhtrough") with <address> elements,
libvirtd would crash as it would attempt to format an <interface>.
Use the type of the individual element to format the XML.
v1.2.7-192-g4cf1c3f
Verify it as follows. The result is expected.
Version:
libvirt-1.2.8-7.el7.x86_64
qemu-kvm-1.5.3-79.el7.x86_64
qemu-kvm-rhev-2.1.2-8.el7
Scenario 1. define macvtap network
# cat pci.xml
<network>
<name>pt</name>
<forward mode='passthrough'>
<address type='pci' domain='0' bus='0x00' slot='0x19' function='0x0'/>
</forward>
</network>
# virsh net-define pci.xml
Network pt defined from pci.xml
# virsh net-dumpxml pt
<network>
<name>pt</name>
<uuid>508c3b93-0a19-4aaf-ae96-4486423041d7</uuid>
<forward mode='passthrough'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x19' function='0x0'/>
</forward>
</network>
Scenario 2: edit macvtap network
# virsh net-dumpxml pt2
<network>
<name>pt2</name>
<uuid>937c23ec-ebb0-46f6-992a-32509c20e0fe</uuid>
<forward mode='passthrough'/>
</network>
# virsh net-edit pt2
Network pt2 XML configuration edited.
# virsh net-dumpxml pt2
<network>
<name>pt2</name>
<uuid>937c23ec-ebb0-46f6-992a-32509c20e0fe</uuid>
<forward mode='passthrough'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x19' function='0x0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x19' function='0x0'/>
</forward>
</network>
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-2015-0323.html |