diff --git a/libvirt-fix-usb-device-passthrough.patch b/libvirt-fix-usb-device-passthrough.patch new file mode 100644 index 0000000..5882f1f --- /dev/null +++ b/libvirt-fix-usb-device-passthrough.patch @@ -0,0 +1,41 @@ +From 16f20706f8d2f113bb6a49f56e415c16d438183e Mon Sep 17 00:00:00 2001 +From: Mark McLoughlin +Date: Wed, 30 Sep 2009 18:37:03 +0100 +Subject: [PATCH] Fix USB device re-labelling + +A simple misplaced break out of a switch results in: + + libvir: error : Failed to open file '/sys/bus/pci/devices/0000:00:54c./vendor': No such file or directory + libvir: error : Failed to open file '/sys/bus/pci/devices/0000:00:54c./device': No such file or directory + libvir: error : this function is not supported by the hypervisor: Failed to read product/vendor ID for 0000:00:54c. + +when trying to passthrough a USB host device to qemu. + +* src/security_selinux.c: fix a switch/break thinko + +Fedora-patch: libvirt-fix-usb-device-passthrough.patch +--- + src/security_selinux.c | 3 +-- + 1 files changed, 1 insertions(+), 2 deletions(-) + +diff --git a/src/security_selinux.c b/src/security_selinux.c +index bc295b1..b4dc153 100644 +--- a/src/security_selinux.c ++++ b/src/security_selinux.c +@@ -464,12 +464,11 @@ SELinuxSetSecurityHostdevLabel(virConnectPtr conn, + + ret = usbDeviceFileIterate(conn, usb, SELinuxSetSecurityUSBLabel, vm); + usbFreeDevice(conn, usb); +- +- break; + } else { + /* XXX deal with product/vendor better */ + ret = 0; + } ++ break; + } + + case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: { +-- +1.6.4.4 + diff --git a/libvirt.spec b/libvirt.spec index 22319fb..15244fa 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -151,7 +151,7 @@ Summary: Library providing a simple API virtualization Name: libvirt Version: 0.7.1 -Release: 6%{?dist}%{?extra_release} +Release: 7%{?dist}%{?extra_release} License: LGPLv2+ Group: Development/Libraries Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz @@ -170,6 +170,9 @@ Patch03: libvirt-fix-drv-supports-feature-bogus-error.patch # Fix raw save format Patch04: libvirt-fix-qemu-raw-format-save.patch +# Fix USB device passthrough (#422683) +Patch05: libvirt-fix-usb-device-passthrough.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://libvirt.org/ BuildRequires: python-devel @@ -387,6 +390,7 @@ of recent versions of Linux (and other OSes). %patch02 -p1 %patch03 -p1 %patch04 -p1 +%patch05 -p1 %build %if ! %{with_xen} @@ -777,6 +781,9 @@ fi %endif %changelog +* Wed Sep 30 2009 Mark McLoughlin - 0.7.1-7 +- Fix USB device passthrough (#522683) + * Mon Sep 21 2009 Chris Weyl - 0.7.1-6 - rebuild for libssh2 1.2