]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix SELinux denial during hotplug
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 6 Jul 2009 15:01:55 +0000 (16:01 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 16 Jul 2009 10:32:09 +0000 (11:32 +0100)
* src/qemu_driver.c: Relabel disk images *before* running QEMU
hotplug monitor commands

src/qemu_driver.c

index 5a0ab125bf6abd631be1fed721db372588ef2a87..342ba01b60e965c708fa9b26383d07bca73463ca 100644 (file)
@@ -4225,10 +4225,14 @@ static int qemudDomainAttachDevice(virDomainPtr dom,
         switch (dev->data.disk->device) {
         case VIR_DOMAIN_DISK_DEVICE_CDROM:
         case VIR_DOMAIN_DISK_DEVICE_FLOPPY:
+            if (driver->securityDriver)
+                driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk);
             ret = qemudDomainChangeEjectableMedia(dom->conn, vm, dev);
             break;
 
         case VIR_DOMAIN_DISK_DEVICE_DISK:
+            if (driver->securityDriver)
+                driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk);
             if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_USB) {
                 ret = qemudDomainAttachUsbMassstorageDevice(dom->conn, vm, dev);
             } else if (dev->data.disk->bus == VIR_DOMAIN_DISK_BUS_SCSI ||
@@ -4240,8 +4244,6 @@ static int qemudDomainAttachDevice(virDomainPtr dom,
                                  virDomainDiskBusTypeToString(dev->data.disk->bus));
                 goto cleanup;
             }
-            if (driver->securityDriver)
-                driver->securityDriver->domainSetSecurityImageLabel(dom->conn, vm, dev->data.disk);
             break;
 
         default: