]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: stop passing -enable-fips to QEMU >= 5.2.0
authorDaniel P. Berrangé <berrange@redhat.com>
Tue, 20 Oct 2020 16:48:59 +0000 (17:48 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 22 Oct 2020 07:03:33 +0000 (09:03 +0200)
Use of the -enable-fips option is being deprecated in QEMU >= 5.2.0. If
FIPS compliance is required, QEMU must be built with libcrypt which will
unconditionally enforce it.

Thus there is no need for libvirt to pass -enable-fips to modern QEMU.
Unfortunately there was never any way to probe for -enable-fips in the
first instance, it was enabled by libvirt based on version number
originally, and then later unconditionally enabled when libvirt dropped
support for older QEMU. Similarly we now use a version number check to
decide when to stop passing -enable-fips.

Note that the qemu-5.2 capabilities are currently from the pre-release
version and will be updated once qemu-5.2 is released.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
56 files changed:
src/qemu/qemu_capabilities.c
src/qemu/qemu_command.c
src/qemu/qemu_command.h
src/qemu/qemu_driver.c
src/qemu/qemu_process.c
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_3.0.0.s390x.xml
tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_3.1.0.ppc64.xml
tests/qemucapabilitiesdata/caps_3.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_4.0.0.aarch64.xml
tests/qemucapabilitiesdata/caps_4.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_4.0.0.riscv32.xml
tests/qemucapabilitiesdata/caps_4.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_4.0.0.s390x.xml
tests/qemucapabilitiesdata/caps_4.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_4.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml
tests/qemucapabilitiesdata/caps_4.2.0.ppc64.xml
tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml
tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml
tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml
tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml
tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml
tests/qemucapabilitiesdata/caps_5.2.0.x86_64.xml
tests/qemuxml2argvtest.c

index 5f0138e080c8550dae7259f07b218fb5ccdad40f..9435333a0e40fee7e54214a7243b7c75f646a9c4 100644 (file)
@@ -5155,6 +5155,13 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCapsPtr qemuCaps)
     /* TCG couldn't be disabled nor queried until QEMU 2.10 */
     if (qemuCaps->version < 2010000)
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_TCG);
+
+    /* -enable-fips is deprecated in QEMU 5.2.0, and QEMU
+     * should be built with gcrypt to achieve FIPS compliance
+     * automatically / implicitly
+     */
+    if (qemuCaps->version < 5002000)
+        virQEMUCapsSet(qemuCaps, QEMU_CAPS_ENABLE_FIPS);
 }
 
 
index 5c4e37bd9e0eccb1718909f88cfe6a7ada792e69..e10121cf94d33e95994638c96a4e9408aecfc7a0 100644 (file)
@@ -1089,10 +1089,20 @@ qemuDiskConfigBlkdeviotuneEnabled(virDomainDiskDefPtr disk)
  *                          old QEMU            new QEMU
  * FIPS enabled             doesn't start       VNC auth disabled
  * FIPS disabled/missing    VNC auth enabled    VNC auth enabled
+ *
+ * In QEMU 5.2.0, use of -enable-fips was deprecated. In scenarios
+ * where FIPS is required, QEMU must be built against libgcrypt
+ * which automatically enforces FIPS compliance.
  */
 bool
-qemuCheckFips(void)
+qemuCheckFips(virDomainObjPtr vm)
 {
+    qemuDomainObjPrivatePtr priv = vm->privateData;
+    virQEMUCapsPtr qemuCaps = priv->qemuCaps;
+
+    if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_ENABLE_FIPS))
+        return false;
+
     if (virFileExists("/proc/sys/crypto/fips_enabled")) {
         g_autofree char *buf = NULL;
 
index f059f54114fd9f57f847a764bdeca2e835f2d996..3da07e25a1feab256cda206e21b68f544d290aaf 100644 (file)
@@ -214,7 +214,7 @@ qemuDiskConfigBlkdeviotuneEnabled(virDomainDiskDefPtr disk);
 
 
 bool
-qemuCheckFips(void);
+qemuCheckFips(virDomainObjPtr vm);
 
 virJSONValuePtr qemuBuildHotpluggableCPUProps(const virDomainVcpuDef *vcpu)
     ATTRIBUTE_NONNULL(1);
index f547abd25998f0d99d6bc4ecff3e3c555e078c65..faf892fba3f4547d93647176c985ca34bb113939 100644 (file)
@@ -6512,7 +6512,7 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
         goto cleanup;
 
     if (!(cmd = qemuProcessCreatePretendCmdBuild(driver, vm, NULL,
-                                                 qemuCheckFips(), true, false)))
+                                                 qemuCheckFips(vm), true, false)))
         goto cleanup;
 
     ret = virCommandToString(cmd, false);
index 34d131d09c73875baf1544b49109cec69df95fe8..89f6fd14993122d1ffee6e04c692a71d8c031a2c 100644 (file)
@@ -6901,7 +6901,7 @@ qemuProcessLaunch(virConnectPtr conn,
                                      incoming ? incoming->launchURI : NULL,
                                      snapshot, vmop,
                                      false,
-                                     qemuCheckFips(),
+                                     qemuCheckFips(vm),
                                      &nnicindexes, &nicindexes, 0)))
         goto cleanup;
 
index 0b103f25dc28e11e87e0c94d807b7788cf466978..ad8ef544649e49940e3022fae99fe8de75f1b3ee 100644 (file)
@@ -62,6 +62,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='usb-audio'/>
   <flag name='splash-timeout'/>
index 0361f343ec9dcb310097d58dfde64d234565871b..a9650bfa582168305d80cc4bcda91ceae84a8321 100644 (file)
@@ -65,6 +65,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 439219fa2eac7d4e4ddc42a2cfdd12ec08060224..b53c2f977ffdea4f82ba3b2ded9c83f422d533d9 100644 (file)
@@ -66,6 +66,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 050e3c7059f308e953de9a00be36297ef35c5c0a..97b29df47d294d819c0bb9377e170cd041af2d3f 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index b0fcbc42180e3ed0c39e127abe3c4ad1d6489303..34a4c2b3a542212e0e768353fd4bcb9835b39d3a 100644 (file)
@@ -50,6 +50,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index edf01d2e2f2623ed0aef131a7a4631232bcb5e7f..7f8e9106ea95d0d04a36d79a95bd1ef434ab6513 100644 (file)
@@ -49,6 +49,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index 98a3c0eec2aa42bf165077768ab4c2e7ef8b4d18..7b3d75976f3a1a4e3d45d1f92ef99931c75919b2 100644 (file)
@@ -31,6 +31,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index 98b1a94349f39b1aee732f637119cd60633961a6..b31acd3571ff97cc1366665c19af2fbf85cb2e40 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 0391f4b81eaf14cafb0594b9eb9b508343b6a3b9..59a6cdf3604da2100d284d30b5d9fd33a8ccc7c1 100644 (file)
@@ -31,6 +31,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index 9eaafb4ba60470a3a7f2a6f86890253051534a9d..9e8868f032a3fe6e7dfec66cb7c06c2362818eed 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index a5d6dc3bef51d71f2f5471dbef76fb83aa799847..c36324ca925ff15893151763302eb6631ef1b4d0 100644 (file)
@@ -50,6 +50,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index d1ed9f6e280acd467e500bfcfaeed5cbe2e6a1fc..e35f440bf7b01afda7489a2c3b0dd13904ac91d2 100644 (file)
@@ -49,6 +49,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index cef6ebb9adf80d757d0b26fc8a94b6ce3559c943..a679d8cc05438c40ea3665e2592a08df0ded812e 100644 (file)
@@ -31,6 +31,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index 6d48699e3e2828d81a21fedae78baa38e0eb0cbc..4b5f660e18f30372d9ecaf0bfca1b158c3a095f5 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 310f69499f4e045555f230ab138efe714f087bfd..64aeaeef5bb07e5167f9ece901ad2ec8e28c4a3e 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index af9b9e96fde788c21ee7e0f50a938811a0c5d267..51c3c00cb7f3f02f4fa877d3245ac541a34774da 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index ec17ca5c2764e11ae9ee7993b30399553d444ef2..5f74659837ae320e01ca297df2f0655033555d29 100644 (file)
@@ -52,6 +52,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index 13e6df006eeaedc2636070c2ecf07f1516917de1..1f5ccbcd08f797dfac38afcec780f83188cbcc8c 100644 (file)
@@ -49,6 +49,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index c25731997e8c755c00e5ec41002d8e4e1d5fda28..a6419f1efbd28638dd4879aac43944b79efd28c3 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 2421b46f35f613badeea887c14833102a4c304e0..b46e16c0d82a9f62f5c31ef416a8b6af3d7b0277 100644 (file)
@@ -31,6 +31,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index 9f25bd17ecb5f6592c5d4ee091b6de8d5695b467..984b62b7b34638f75dd085da90a75b7ebe76cd13 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 8c63aeec07e84bd6e2f57015f9b759446a7efef2..cda8d08c4dcd3f374c99b516ff223e61ff53ad94 100644 (file)
@@ -31,6 +31,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index 4e022e2d844df03ee18489ab0839da885046e947..855a1a7392c0e33f838006eb140b63881bb8bb4e 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index e72611e0a8a29f7f89427849221977348c3c7fa4..94e990da0fc444c1d00690653a657385c50be9ed 100644 (file)
@@ -49,6 +49,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index b48dc985010161fd66d20b9b704b5b97cc707608..9cdcb9988ab076cebecc27ec7dd09ba757e065df 100644 (file)
@@ -31,6 +31,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index d7b2d0633d40d9f6f990b7352b193dbed8b671e8..2990242a1884c2f608f06f296c8ade357cf0ce53 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index e4a560bac53c5229e893338c1706f0e213ba63ed..65999c8f77e5112e409c5347d289a247ecc674d9 100644 (file)
@@ -48,6 +48,7 @@
   <flag name='usb-storage.removable'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index 71f9b0c37fd807fc00a181276ecbe7200481af6f..0b87d591a8f714059449634276431b0186750388 100644 (file)
@@ -21,6 +21,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index 279078d541a93fa8b2a6a96d2375bf3e91c3127d..595b2cb171341079a9265e851f100ce0609e14c1 100644 (file)
@@ -21,6 +21,7 @@
   <flag name='drive-discard'/>
   <flag name='virtio-mmio'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index f1ed34c612ce782a0e85e22c33d46fb22f71f0d7..79494a95bb816574d6969d07256df9d49d2e2bc6 100644 (file)
@@ -32,6 +32,7 @@
   <flag name='mem-merge'/>
   <flag name='drive-discard'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index ae1836b28f77755854be900166d564ea59041288..7d37e4f6a29e3b594870c02838522d5888e42d1d 100644 (file)
@@ -67,6 +67,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 0dc0393c2206715edbe7d3884250420902205104..30e8c2dc2ea761145c930daf3d508847a427ad1a 100644 (file)
@@ -49,6 +49,7 @@
   <flag name='usb-storage.removable'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index d4ff21fdaca49e834db383b98cf79a7f4cae69d1..6d1e612bfcde631434bd8f2020d9458c0c249a00 100644 (file)
@@ -67,6 +67,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 404a39af03d0e5084e7f06b0bb27d629e18259ca..29e8222c1843a070bcf39c3a614f26f212b6502d 100644 (file)
@@ -52,6 +52,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index cb0232173cb33abcd08cb9ce9f684ba27347180e..83f3074dd8b399fa2bb7774a95982d239578dd4e 100644 (file)
@@ -51,6 +51,7 @@
   <flag name='usb-storage.removable'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index 11475306f902448179365223a51c3a0834ce1016..614cd8ab0fcb83f9cf9aad25481378b280c3aa68 100644 (file)
@@ -55,6 +55,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 608590a35b3f94ef2bceb1e4838d5867b70785ad..14877ca5c266f3e4a1a51b10233040d82408c5f3 100644 (file)
@@ -55,6 +55,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index f4d20169e078244e856b8d075ffc95cfa652b2e0..92998c8d893aceb869c2a4f4c14dc5667dd88b38 100644 (file)
@@ -32,6 +32,7 @@
   <flag name='mem-merge'/>
   <flag name='drive-discard'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index e3f83372c22332651329057cb33172e3deef05d9..8fde984e11d46f8ad3ec251b0e9ff28a877de655 100644 (file)
@@ -67,6 +67,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index c32d8ea5d84a20e4cadedc568b8dd0367f03bcee..339b3d176b01cfa0aac66c943360290466766b1c 100644 (file)
@@ -67,6 +67,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 11a964ed3976808f13b7e569e8cb2951eb44f155..c90c9aafd5f8fc9a257e020c8dc61117167807ab 100644 (file)
@@ -52,6 +52,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index 60aef01f7b0ceaf93b171369caa1dcd71f8a8baa..578b28fdaf6557dc0cf678ac73f2cac8042c5508 100644 (file)
@@ -51,6 +51,7 @@
   <flag name='usb-storage.removable'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index 76e2747b65cf57592d2c0333cd4acbc835f25c41..7142736174eacde2fec5f75762b00958ca05fb9a 100644 (file)
@@ -32,6 +32,7 @@
   <flag name='mem-merge'/>
   <flag name='drive-discard'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
   <flag name='change-backing-file'/>
index fd63a0ee026439bce9527f7be03dbba05cfda67c..1907fb5ae7aa5de1e01d041535699a75f870d0db 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 928af2a01c9ddd195a3403a92dfc3c55ed033097..28cbd7ab70b2d02f62a2f4d09ff8c717d1050540 100644 (file)
@@ -54,6 +54,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index e8668a25a916bb15f48b329c7e8bb129255a0e82..34e38516f06db52d3227f1b7e08f9ace8808f30c 100644 (file)
@@ -52,6 +52,7 @@
   <flag name='usb-storage.removable'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
   <flag name='active-commit'/>
index 85a8a46dac8f6b1389617294c6c6ad9fc9921301..cc5c83de8c437af0acd5d62147f07709078d7bda 100644 (file)
@@ -55,6 +55,7 @@
   <flag name='virtio-mmio'/>
   <flag name='ich9-intel-hda'/>
   <flag name='boot-strict'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 546b9b04224c31c0237f9074f775f232ee74d2bf..20643488c92cea198d7719d4afc94f9f8db94c58 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index ac9e258b25d576bba8b02615c8b0c731462afe3d..37a3f7078228a88ed65aa16903e7e20648dc8765 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 36b44181a9039a61be8e11d4736bb58378803d91..7e07ac486d104402d66e1e8dba05f8b620199afc 100644 (file)
@@ -68,6 +68,7 @@
   <flag name='kvm-pit-lost-tick-policy'/>
   <flag name='boot-strict'/>
   <flag name='pvpanic'/>
+  <flag name='enable-fips'/>
   <flag name='spice-file-xfer-disable'/>
   <flag name='usb-kbd'/>
   <flag name='msg-timestamp'/>
index 73130f0757ae8928634ba16a6aa1e78ea5c51450..c5a0095e0d9aa378f36792c283dd7f2a612510c3 100644 (file)
@@ -399,6 +399,7 @@ testCompareXMLToArgvCreateArgs(virQEMUDriverPtr drv,
                                unsigned int flags,
                                bool jsonPropsValidation)
 {
+    qemuDomainObjPrivatePtr priv = vm->privateData;
     bool enableFips = !!(flags & FLAG_FIPS_HOST);
     size_t i;
 
@@ -489,6 +490,10 @@ testCompareXMLToArgvCreateArgs(virQEMUDriverPtr drv,
         }
     }
 
+    /* we can't use qemuCheckFips() directly as it queries host state */
+    if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_ENABLE_FIPS))
+        enableFips = false;
+
     return qemuProcessCreatePretendCmdBuild(drv, vm, migrateURI,
                                             enableFips, false,
                                             jsonPropsValidation);