Patch "KVM: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check" has been added to the 5.10-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: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check

to the 5.10-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-x86-supplement-__cr4_reserved_bits-with-x86_feat.patch
and it can be found in the queue-5.10 subdirectory.

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



commit f310fd979060aeb903615b6759a685ad113e9575
Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Date:   Mon Feb 1 15:28:43 2021 +0100

    KVM: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check
    
    [ Upstream commit 4683d758f48e6ae87d3d3493ffa00aceb955ee16 ]
    
    Commit 7a873e455567 ("KVM: selftests: Verify supported CR4 bits can be set
    before KVM_SET_CPUID2") reveals that KVM allows to set X86_CR4_PCIDE even
    when PCID support is missing:
    
    ==== Test Assertion Failure ====
      x86_64/set_sregs_test.c:41: rc
      pid=6956 tid=6956 - Invalid argument
         1  0x000000000040177d: test_cr4_feature_bit at set_sregs_test.c:41
         2  0x00000000004014fc: main at set_sregs_test.c:119
         3  0x00007f2d9346d041: ?? ??:0
         4  0x000000000040164d: _start at ??:?
      KVM allowed unsupported CR4 bit (0x20000)
    
    Add X86_FEATURE_PCID feature check to __cr4_reserved_bits() to make
    kvm_is_valid_cr4() fail.
    
    Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
    Message-Id: <20210201142843.108190-1-vkuznets@xxxxxxxxxx>
    Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index e7ca622a468f..2249a7d7ca27 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -404,6 +404,8 @@ bool kvm_msr_allowed(struct kvm_vcpu *vcpu, u32 index, u32 type);
 		__reserved_bits |= X86_CR4_UMIP;        \
 	if (!__cpu_has(__c, X86_FEATURE_VMX))           \
 		__reserved_bits |= X86_CR4_VMXE;        \
+	if (!__cpu_has(__c, X86_FEATURE_PCID))          \
+		__reserved_bits |= X86_CR4_PCIDE;       \
 	__reserved_bits;                                \
 })
 



[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