Patch "KVM: VMX: Heed the 'msr' argument in msr_write_intercepted()" has been added to the 5.19-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: VMX: Heed the 'msr' argument in msr_write_intercepted()

to the 5.19-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-vmx-heed-the-msr-argument-in-msr_write_intercept.patch
and it can be found in the queue-5.19 subdirectory.

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



commit 8ecc8f3c9ed11d8693e714377d85ae7b9bba0c6a
Author: Jim Mattson <jmattson@xxxxxxxxxx>
Date:   Wed Aug 10 14:30:50 2022 -0700

    KVM: VMX: Heed the 'msr' argument in msr_write_intercepted()
    
    [ Upstream commit 020dac4187968535f089f83f376a72beb3451311 ]
    
    Regardless of the 'msr' argument passed to the VMX version of
    msr_write_intercepted(), the function always checks to see if a
    specific MSR (IA32_SPEC_CTRL) is intercepted for write.  This behavior
    seems unintentional and unexpected.
    
    Modify the function so that it checks to see if the provided 'msr'
    index is intercepted for write.
    
    Fixes: 67f4b9969c30 ("KVM: nVMX: Handle dynamic MSR intercept toggling")
    Cc: Sean Christopherson <seanjc@xxxxxxxxxx>
    Signed-off-by: Jim Mattson <jmattson@xxxxxxxxxx>
    Reviewed-by: Sean Christopherson <seanjc@xxxxxxxxxx>
    Message-Id: <20220810213050.2655000-1-jmattson@xxxxxxxxxx>
    Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 0aaea87a14597..b09a50e0af29d 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -835,8 +835,7 @@ static bool msr_write_intercepted(struct vcpu_vmx *vmx, u32 msr)
 	if (!(exec_controls_get(vmx) & CPU_BASED_USE_MSR_BITMAPS))
 		return true;
 
-	return vmx_test_msr_bitmap_write(vmx->loaded_vmcs->msr_bitmap,
-					 MSR_IA32_SPEC_CTRL);
+	return vmx_test_msr_bitmap_write(vmx->loaded_vmcs->msr_bitmap, msr);
 }
 
 unsigned int __vmx_vcpu_run_flags(struct vcpu_vmx *vmx)



[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