KVM: SVM: fix compilation with modular PSP and non-modular KVM
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 13 Apr 2020 07:20:06 +0000 (03:20 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 14 Apr 2020 08:21:15 +0000 (04:21 -0400)
Use svm_sev_enabled() in order to cull all calls to PSP code.  Otherwise,
compilation fails with undefined symbols if the PSP device driver is compiled
as a module and KVM is not.

Reported-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/svm/sev.c

index 0e3fc31..5ffe041 100644 (file)
@@ -1117,7 +1117,7 @@ int __init sev_hardware_setup(void)
        /* Maximum number of encrypted guests supported simultaneously */
        max_sev_asid = cpuid_ecx(0x8000001F);
 
-       if (!max_sev_asid)
+       if (!svm_sev_enabled())
                return 1;
 
        /* Minimum ASID value that should be used for SEV guest */
@@ -1156,6 +1156,9 @@ err:
 
 void sev_hardware_teardown(void)
 {
+       if (!svm_sev_enabled())
+               return;
+
        bitmap_free(sev_asid_bitmap);
        bitmap_free(sev_reclaim_asid_bitmap);