target/i386/sev.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
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 <nikunj@amd.com>
Signed-off-by: Srikanth Aithal <srikanth.aithal@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
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.aithal@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 <nikunj@amd.com>
> Signed-off-by: Srikanth Aithal <srikanth.aithal@amd.com>
> ---
> target/i386/sev.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
Reviewed-by: Zhao Liu <zhao1.liu@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
>
>
On 4/1/24 11:48, Srikanth Aithal wrote: > 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 <nikunj@amd.com> > Signed-off-by: Srikanth Aithal <srikanth.aithal@amd.com> > --- > target/i386/sev.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
© 2016 - 2026 Red Hat, Inc.