|
|
c401cc |
From f5747e26f970288c161d947790b2838384971434 Mon Sep 17 00:00:00 2001
|
|
|
c401cc |
Message-Id: <f5747e26f970288c161d947790b2838384971434.1389183248.git.jdenemar@redhat.com>
|
|
|
c401cc |
From: Laine Stump <laine@laine.org>
|
|
|
c401cc |
Date: Tue, 24 Dec 2013 04:24:03 -0700
|
|
|
c401cc |
Subject: [PATCH] qemu: avoid duplicate security label restore on hostdev
|
|
|
c401cc |
attach failure
|
|
|
c401cc |
|
|
|
c401cc |
This eliminates the misleading error message that was being logged
|
|
|
c401cc |
when a vfio hostdev hotplug failed:
|
|
|
c401cc |
|
|
|
c401cc |
error: unable to set user and group to '107:107' on '/dev/vfio/22':
|
|
|
c401cc |
No such file or directory
|
|
|
c401cc |
|
|
|
c401cc |
as documented in:
|
|
|
c401cc |
|
|
|
c401cc |
https://bugzilla.redhat.com/show_bug.cgi?id=1035490
|
|
|
c401cc |
|
|
|
c401cc |
Commit ee414b5d (pushed as a fix for Bug 1016511 and part of Bug
|
|
|
c401cc |
1025108) replaced the single call to
|
|
|
c401cc |
virSecurityManagerSetHostdevLabel() in qemuDomainAttachHostDevice()
|
|
|
c401cc |
with individual calls to that same function in each
|
|
|
c401cc |
device-type-specific attach function (for PCI, USB, and SCSI). It also
|
|
|
c401cc |
added a corresponding call to virSecurityManagerRestoreHostdevLabel()
|
|
|
c401cc |
in the error handling of the device-type-specific functions, but
|
|
|
c401cc |
forgot to remove the common call to that from
|
|
|
c401cc |
qemuDomainAttachHostDevice() - this resulted in a duplicate call to
|
|
|
c401cc |
virSecurityManagerRestoreHostdevLabel(), with the second occurrence
|
|
|
c401cc |
being after (e.g.) a PCI device has already been re-attached to the
|
|
|
c401cc |
host driver, thus destroying some of the device nodes / links that we
|
|
|
c401cc |
then attempted to re-label (e.f. /dev/vfio/22) and generating an error
|
|
|
c401cc |
log that obscured the original error.
|
|
|
c401cc |
|
|
|
c401cc |
(cherry picked from commit c0f511ee2bfeb4b177b301ed73f3a9d86b4d4dbd)
|
|
|
c401cc |
|
|
|
c401cc |
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
|
|
c401cc |
---
|
|
|
c401cc |
src/qemu/qemu_hotplug.c | 3 ---
|
|
|
c401cc |
1 file changed, 3 deletions(-)
|
|
|
c401cc |
|
|
|
c401cc |
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
|
|
|
c401cc |
index fae7e14..0f2be8a 100644
|
|
|
c401cc |
--- a/src/qemu/qemu_hotplug.c
|
|
|
c401cc |
+++ b/src/qemu/qemu_hotplug.c
|
|
|
c401cc |
@@ -1520,9 +1520,6 @@ int qemuDomainAttachHostDevice(virQEMUDriverPtr driver,
|
|
|
c401cc |
return 0;
|
|
|
c401cc |
|
|
|
c401cc |
error:
|
|
|
c401cc |
- if (virSecurityManagerRestoreHostdevLabel(driver->securityManager,
|
|
|
c401cc |
- vm->def, hostdev, NULL) < 0)
|
|
|
c401cc |
- VIR_WARN("Unable to restore host device labelling on hotplug fail");
|
|
|
c401cc |
return -1;
|
|
|
c401cc |
}
|
|
|
c401cc |
|
|
|
c401cc |
--
|
|
|
c401cc |
1.8.5.2
|
|
|
c401cc |
|