From: Paolo Bonzini Date: Wed, 5 Jun 2024 18:09:44 +0000 (+0200) Subject: target/i386: SEV: do not assume machine->cgs is SEV X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=109238a8d97cd8e85ca614109724a0b1222b21f5;p=qemu.git target/i386: SEV: do not assume machine->cgs is SEV There can be other confidential computing classes that are not derived from sev-common. Avoid aborting when encountering them. Signed-off-by: Paolo Bonzini --- diff --git a/target/i386/sev.c b/target/i386/sev.c index c40562dce3..30b83f1d77 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -1712,7 +1712,9 @@ void sev_es_set_reset_vector(CPUState *cpu) { X86CPU *x86; CPUX86State *env; - SevCommonState *sev_common = SEV_COMMON(MACHINE(qdev_get_machine())->cgs); + ConfidentialGuestSupport *cgs = MACHINE(qdev_get_machine())->cgs; + SevCommonState *sev_common = SEV_COMMON( + object_dynamic_cast(OBJECT(cgs), TYPE_SEV_COMMON)); /* Only update if we have valid reset information */ if (!sev_common || !sev_common->reset_data_valid) {