From: Sean Christopherson Date: Tue, 10 Mar 2026 23:48:20 +0000 (-0700) Subject: KVM: SEV: WARN on unhandled VM type when initializing VM X-Git-Tag: v7.1-rc1~118^2~2^2~9 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f67cf7e7e756436d2a525ac6743711e598573c4;p=thirdparty%2Fkernel%2Flinux.git KVM: SEV: WARN on unhandled VM type when initializing VM WARN if KVM encounters an unhandled VM type when setting up flags for SEV+ VMs, e.g. to guard against adding a new flavor of SEV without adding proper recognition in sev_vm_init(). Practically speaking, no functional change intended (the new "default" case should be unreachable). Link: https://patch.msgid.link/20260310234829.2608037-13-seanjc@google.com Signed-off-by: Sean Christopherson --- diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index 4df0f17da3e22..015d102b32d90 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -2927,17 +2927,24 @@ static int snp_decommission_context(struct kvm *kvm) void sev_vm_init(struct kvm *kvm) { - int type = kvm->arch.vm_type; - - if (type == KVM_X86_DEFAULT_VM || type == KVM_X86_SW_PROTECTED_VM) - return; - - kvm->arch.has_protected_state = (type == KVM_X86_SEV_ES_VM || - type == KVM_X86_SNP_VM); - to_kvm_sev_info(kvm)->need_init = true; - - kvm->arch.has_private_mem = (type == KVM_X86_SNP_VM); - kvm->arch.pre_fault_allowed = !kvm->arch.has_private_mem; + switch (kvm->arch.vm_type) { + case KVM_X86_DEFAULT_VM: + case KVM_X86_SW_PROTECTED_VM: + break; + case KVM_X86_SNP_VM: + kvm->arch.has_private_mem = true; + fallthrough; + case KVM_X86_SEV_ES_VM: + kvm->arch.has_protected_state = true; + fallthrough; + case KVM_X86_SEV_VM: + kvm->arch.pre_fault_allowed = !kvm->arch.has_private_mem; + to_kvm_sev_info(kvm)->need_init = true; + break; + default: + WARN_ONCE(1, "Unsupported VM type %u", kvm->arch.vm_type); + break; + } } void sev_vm_destroy(struct kvm *kvm)