Re: [PATCH v10 20/50] KVM: SEV: Select CONFIG_KVM_SW_PROTECTED_VM when CONFIG_KVM_AMD_SEV=y

From: Michael Roth
Date: Sat Dec 30 2023 - 11:26:57 EST


On Mon, Dec 18, 2023 at 11:13:50AM +0100, Borislav Petkov wrote:
> On Mon, Oct 16, 2023 at 08:27:49AM -0500, Michael Roth wrote:
> > SEV-SNP relies on the restricted/protected memory support to run guests,
> > so make sure to enable that support with the
> > CONFIG_KVM_SW_PROTECTED_VM build option.
> >
> > Signed-off-by: Michael Roth <michael.roth@xxxxxxx>
> > ---
> > arch/x86/kvm/Kconfig | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
> > index 8452ed0228cb..71dc506aa3fb 100644
> > --- a/arch/x86/kvm/Kconfig
> > +++ b/arch/x86/kvm/Kconfig
> > @@ -126,6 +126,7 @@ config KVM_AMD_SEV
> > bool "AMD Secure Encrypted Virtualization (SEV) support"
> > depends on KVM_AMD && X86_64
> > depends on CRYPTO_DEV_SP_PSP && !(KVM_AMD=y && CRYPTO_DEV_CCP_DD=m)
> > + select KVM_SW_PROTECTED_VM
> > help
> > Provides support for launching Encrypted VMs (SEV) and Encrypted VMs
> > with Encrypted State (SEV-ES) on AMD processors.
> > --
>
> Kconfig doesn't like this one:
>
> WARNING: unmet direct dependencies detected for KVM_SW_PROTECTED_VM
> Depends on [n]: VIRTUALIZATION [=y] && EXPERT [=n] && X86_64 [=y]
> Selected by [m]:
> - KVM_AMD_SEV [=y] && VIRTUALIZATION [=y] && KVM_AMD [=m] && X86_64 [=y] && CRYPTO_DEV_SP_PSP [=y] && (KVM_AMD [=m]!=y || CRYPTO_DEV_CCP_DD [=m]!=m)
>
> WARNING: unmet direct dependencies detected for KVM_SW_PROTECTED_VM
> Depends on [n]: VIRTUALIZATION [=y] && EXPERT [=n] && X86_64 [=y]
> Selected by [m]:
> - KVM_AMD_SEV [=y] && VIRTUALIZATION [=y] && KVM_AMD [=m] && X86_64 [=y] && CRYPTO_DEV_SP_PSP [=y] && (KVM_AMD [=m]!=y || CRYPTO_DEV_CCP_DD [=m]!=m)

I think this is because KVM_SW_PROTECTED_VM requires EXPERT, which has
to be set explicitly. But I think Paolo is right that
KVM_GENERIC_PRIVATE_MEM is more appropriate, which does not require
EXPERT.

-Mike

>
>
> --
> Regards/Gruss,
> Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette
>