Propogate error code using errp in sev_kvm_init. Before fix: qemu-system-x86_64: sev_kvm_init: guest policy requires SEV-ES, but host SEV-ES support unavailable 27747 Segmentation fault (core dumped)
After fix: qemu-system-x86_64: sev_kvm_init: guest policy requires SEV-ES, but host SEV-ES support unavailable qemu-system-x86_64: failed to initialize kvm: Operation not permitted While at it, also fix two more locations. Reviewed-by: Nikunj A Dadhania <nik...@amd.com> Signed-off-by: Srikanth Aithal <srikanth.ait...@amd.com> --- target/i386/sev.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/target/i386/sev.c b/target/i386/sev.c index 9a71246682..c0a4d5e535 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -922,7 +922,8 @@ int sev_kvm_init(ConfidentialGuestSupport *cgs, Error **errp) ret = ram_block_discard_disable(true); if (ret) { - error_report("%s: cannot disable RAM discard", __func__); + error_setg(errp, "%s: cannot disable " + "RAM discard", __func__); return -1; } @@ -979,13 +980,13 @@ int sev_kvm_init(ConfidentialGuestSupport *cgs, Error **errp) if (sev_es_enabled()) { if (!kvm_kernel_irqchip_allowed()) { - error_report("%s: SEV-ES guests require in-kernel irqchip support", - __func__); + error_setg(errp, "%s: SEV-ES guests require in-kernel " + "irqchip support", __func__); goto err; } if (!(status.flags & SEV_STATUS_FLAGS_CONFIG_ES)) { - error_report("%s: guest policy requires SEV-ES, but " + error_setg(errp, "%s: guest policy requires SEV-ES, but " "host SEV-ES support unavailable", __func__); goto err; -- 2.34.1