| Summary: | Unable to attach PCI device on a booted virt guest | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | RHEL Program Management <pm-rhel> |
| Component: | qemu-kvm | Assignee: | Virtualization Maintenance <virt-maint> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 6.1 | CC: | alex.williamson, dallan, ddutile, ebenes, juzhang, jwest, mkenneth, msvoboda, pm-eus, qzhang, tburke, virt-maint |
| Target Milestone: | rc | Keywords: | ZStream |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-0.12.1.2-2.160.el6_1.8 | Doc Type: | Bug Fix |
| Doc Text: |
Previously, a particular device using the tg3 driver failed to be re-assigned on a running KVM guest. The Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe network controller provides a PCI-Express Cap structure that is 8 bytes shorter than it should be according the PCI-Express 2.0 specification. This fact resulted in memory corruption when it was allocated for device assignment. The code has been modified to accept the reduced size of the structure. BCM5761 can now be successfully re-assigned.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-08-25 08:02:50 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 720972 | ||
| Bug Blocks: | |||
|
Description
RHEL Program Management
2011-08-02 08:26:47 UTC
Reproduced on qemu-kvm-0.12.1.2-2.160.el6_1.6 and verified pass on qemu-kvm-0.12.1.2-2.160.el6_1.8.
Steps:
0. Find a HP z800 host that have Broadcom Corporation NetXtreme BCM5764M Gigabit Ethernet with tg3 driver; add "intel_iommu=on" to the kernel command line; make sure there's at least 2 network wire in the host, one is for host another is for passthrough to guest.
1. Boot a guest without host nic device, I boot a rhel6.1-64 with virt-manager.
2. create a hostnet.xml file as following:
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
</source>
</hostdev>
3.#virsh
virsh # nodedev-list --tree
.........
+- pci_0000_00_1c_4
| |
| +- pci_0000_02_00_0
| |
| +- net_eth2_00_1f_29_03_86_03
.........
4.virsh # detach-device pci_0000_02_00_0
5.virsh # attach-device rhel6.1-64 hostnet.xml
6.virsh # detach-device rhel6.1-64 hostnet.xml
7.Repeat step 5 and step 6.
Result:
For qemu-kvm-0.12.1.2-2.160.el6_1.6:
After step 5, failed and prompt:
error: Failed to attach device from pci-dev.xml
error: internal error unable to execute QEMU command 'closefd': File descriptor
named 'fd-hostdev0' not found
For qemu-kvm-0.12.1.2-2.160.el6_1.8:
After step 5, attach the device successfully and guest can get ip with the assigned device, network is working well.
After step 6, detach the device successfully.
So, this issue is fixed.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Previously, a particular device using the tg3 driver failed to be re-assigned on a running KVM guest. The Broadcom Corporation NetXtreme BCM5761 Gigabit Ethernet PCIe network controller provides a PCI-Express Cap structure that is 8 bytes shorter than it should be according the PCI-Express 2.0 specification. This fact resulted in memory corruption when it was allocated for device assignment. The code has been modified to accept the reduced size of the structure. BCM5761 can now be successfully re-assigned.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-1211.html |