Patch "KVM: SVM: WARN, but continue, if misc_cg_set_capacity() fails" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    KVM: SVM: WARN, but continue, if misc_cg_set_capacity() fails

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     kvm-svm-warn-but-continue-if-misc_cg_set_capacity-fa.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b438e2cec334ebdf9dc1fef6d41f786d3053c5d5
Author: Sean Christopherson <seanjc@xxxxxxxxxx>
Date:   Tue Jun 6 17:44:49 2023 -0700

    KVM: SVM: WARN, but continue, if misc_cg_set_capacity() fails
    
    [ Upstream commit 106ed2cad9f7bd803bd31a18fe7a9219b077bf95 ]
    
    WARN and continue if misc_cg_set_capacity() fails, as the only scenario
    in which it can fail is if the specified resource is invalid, which should
    never happen when CONFIG_KVM_AMD_SEV=y.  Deliberately not bailing "fixes"
    a theoretical bug where KVM would leak the ASID bitmaps on failure, which
    again can't happen.
    
    If the impossible should happen, the end result is effectively the same
    with respect to SEV and SEV-ES (they are unusable), while continuing on
    has the advantage of letting KVM load, i.e. userspace can still run
    non-SEV guests.
    
    Reported-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230607004449.1421131-1-seanjc@xxxxxxxxxx
    Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
    Stable-dep-of: 0aa6b90ef9d7 ("KVM: SVM: Add support for allowing zero SEV ASIDs")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index 1fe9257d87b2d..0316fdf5040f7 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -2214,9 +2214,7 @@ void __init sev_hardware_setup(void)
 	}
 
 	sev_asid_count = max_sev_asid - min_sev_asid + 1;
-	if (misc_cg_set_capacity(MISC_CG_RES_SEV, sev_asid_count))
-		goto out;
-
+	WARN_ON_ONCE(misc_cg_set_capacity(MISC_CG_RES_SEV, sev_asid_count));
 	sev_supported = true;
 
 	/* SEV-ES support requested? */
@@ -2241,9 +2239,7 @@ void __init sev_hardware_setup(void)
 		goto out;
 
 	sev_es_asid_count = min_sev_asid - 1;
-	if (misc_cg_set_capacity(MISC_CG_RES_SEV_ES, sev_es_asid_count))
-		goto out;
-
+	WARN_ON_ONCE(misc_cg_set_capacity(MISC_CG_RES_SEV_ES, sev_es_asid_count));
 	sev_es_supported = true;
 
 out:




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux