lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 599/717] KVM: SVM: Remove the call to sev_platform_status() during setup
    Date
    From: Tom Lendacky <thomas.lendacky@amd.com>

    commit 9d4747d02376aeb8de38afa25430de79129c5799 upstream.

    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@amd.com>
    Message-Id: <618380488358b56af558f2682203786f09a49483.1607620209.git.thomas.lendacky@amd.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/x86/kvm/svm/sev.c | 22 +---------------------
    1 file changed, 1 insertion(+), 21 deletions(-)

    --- 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)

    \
     
     \ /
      Last update: 2020-12-28 15:29    [W:2.152 / U:0.376 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site