]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: process: SEV: Relabel guest owner's SEV files created before start
authorErik Skultety <eskultet@redhat.com>
Thu, 6 Dec 2018 13:59:15 +0000 (14:59 +0100)
committerErik Skultety <eskultet@redhat.com>
Wed, 2 Jan 2019 09:50:54 +0000 (10:50 +0100)
Before launching a SEV guest we take the base64-encoded guest owner's
data specified in launchSecurity and create files with the same content
under /var/lib/libvirt/qemu/<domain>. The reason for this is that we
need to pass these files on to QEMU which then uses them to communicate
with the SEV firmware, except when it doesn't have permissions to open
those files since we don't relabel them.

https://bugzilla.redhat.com/show_bug.cgi?id=1658112

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Acked-by: Michal Privoznik <mprivozn@redhat.com>
src/qemu/qemu_process.c

index 3d1ac76ecbfd887795f240dfd0ffe0f3bc4cd831..31ae3f39a6a243e7475cf5677b2477bb62b79369 100644 (file)
@@ -6046,6 +6046,7 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm,
                          const char *data)
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
+    virQEMUDriverPtr driver = priv->driver;
     char *configFile;
     int ret = -1;
 
@@ -6058,6 +6059,9 @@ qemuProcessSEVCreateFile(virDomainObjPtr vm,
         goto cleanup;
     }
 
+    if (qemuSecurityDomainSetPathLabel(driver, vm, configFile, true) < 0)
+        goto cleanup;
+
     ret = 0;
  cleanup:
     VIR_FREE(configFile);