On Thu, Jan 04, 2024 at 04:18:20PM +0530, Srikanth Aithal wrote: > Date: Thu, 4 Jan 2024 16:18:20 +0530 > From: Srikanth Aithal <srikanth.ait...@amd.com> > Subject: [PATCH] target/i386/sev: Fix a segfault in sev_kvm_init > X-Mailer: git-send-email 2.34.1 > > 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(-)
Reviewed-by: Zhao Liu <zhao1....@intel.com> > > 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 > >