mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 18:09:56 +00:00
KVM: VMX: Fix check for valid GVA on an EPT violation
On an EPT violation, bit 7 of the exit qualification is set if the
guest linear-address is valid. The derived page fault error code
should not be checked for this bit.
Fixes: f300948251 ("KVM: VMX: Set PFERR_GUEST_{FINAL,PAGE}_MASK if and only if the GVA is valid")
Cc: stable@vger.kernel.org
Signed-off-by: Sukrit Bhatnagar <Sukrit.Bhatnagar@sony.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://patch.msgid.link/20251106052853.3071088-1-Sukrit.Bhatnagar@sony.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
This commit is contained in:
committed by
Sean Christopherson
parent
ae431059e7
commit
d0164c1619
@@ -98,7 +98,7 @@ static inline int __vmx_handle_ept_violation(struct kvm_vcpu *vcpu, gpa_t gpa,
|
|||||||
error_code |= (exit_qualification & EPT_VIOLATION_PROT_MASK)
|
error_code |= (exit_qualification & EPT_VIOLATION_PROT_MASK)
|
||||||
? PFERR_PRESENT_MASK : 0;
|
? PFERR_PRESENT_MASK : 0;
|
||||||
|
|
||||||
if (error_code & EPT_VIOLATION_GVA_IS_VALID)
|
if (exit_qualification & EPT_VIOLATION_GVA_IS_VALID)
|
||||||
error_code |= (exit_qualification & EPT_VIOLATION_GVA_TRANSLATED) ?
|
error_code |= (exit_qualification & EPT_VIOLATION_GVA_TRANSLATED) ?
|
||||||
PFERR_GUEST_FINAL_MASK : PFERR_GUEST_PAGE_MASK;
|
PFERR_GUEST_FINAL_MASK : PFERR_GUEST_PAGE_MASK;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user