On 12/14/20 6:29 AM, Paolo Bonzini wrote: > On 10/12/20 18:09, Tom Lendacky wrote: >> From: Tom Lendacky <thomas.lendacky@xxxxxxx> >> >> When both KVM support and the CCP driver are built into the kernel instead >> of as modules, KVM initialization can happen before CCP initialization. As >> a result, sev_platform_status() will return a failure when it is called >> from sev_hardware_setup(), when this isn't really an error condition. >> >> Since sev_platform_status() doesn't need to be called at this time anyway, >> remove the invocation from sev_hardware_setup(). >> >> Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> >> --- >> arch/x86/kvm/svm/sev.c | 22 +--------------------- >> 1 file changed, 1 insertion(+), 21 deletions(-) >> >> diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c >> index c0b14106258a..a4ba5476bf42 100644 >> --- a/arch/x86/kvm/svm/sev.c >> +++ b/arch/x86/kvm/svm/sev.c >> @@ -1127,9 +1127,6 @@ void sev_vm_destroy(struct kvm *kvm) >> int __init sev_hardware_setup(void) >> { >> - struct sev_user_data_status *status; >> - int rc; >> - >> /* Maximum number of encrypted guests supported simultaneously */ >> max_sev_asid = cpuid_ecx(0x8000001F); >> @@ -1148,26 +1145,9 @@ int __init sev_hardware_setup(void) >> if (!sev_reclaim_asid_bitmap) >> return 1; >> - status = kmalloc(sizeof(*status), GFP_KERNEL); >> - if (!status) >> - return 1; >> - >> - /* >> - * Check SEV platform status. >> - * >> - * PLATFORM_STATUS can be called in any state, if we failed to query >> - * the PLATFORM status then either PSP firmware does not support SEV >> - * feature or SEV firmware is dead. >> - */ >> - rc = sev_platform_status(status, NULL); >> - if (rc) >> - goto err; >> - >> pr_info("SEV supported\n"); >> -err: >> - kfree(status); >> - return rc; >> + return 0; >> } >> void sev_hardware_teardown(void) >> > > Queued with Cc: stable. > > Note that sev_platform_status now can become static within > drivers/crypto/ccp/sev-dev.c. Nice catch. I'll look at doing a follow-on patch to change that. Thanks, Tom > > Paolo