In some cases, such as if the kvm-amd "sev" module parameter is set to 0, SEV will be unavailable but query-sev-capabilities will still return all the information. This tricks libvirt into erroneously reporting that SEV is available. This series checks for the actual usability of the feature and returns the appropriate error if QEMU cannot use KVM or KVM cannot use SEV.
Because query-sev-capabilities's error reporting was abysmal, we first have to fix it up (patch 1). Curiously that removes more code than it adds. Paolo Paolo Bonzini (2): target-i386: sev: provide proper error reporting for query-sev-capabilities target-i386: sev: fail query-sev-capabilities if QEMU cannot use SEV target/i386/monitor.c | 10 +--------- target/i386/sev-stub.c | 3 ++- target/i386/sev.c | 27 ++++++++++++++++++--------- target/i386/sev_i386.h | 2 +- 4 files changed, 22 insertions(+), 20 deletions(-) -- 2.26.2