x86_exception_has_error_code should deterministically return false if its operand is greater than 32. Fixes: 0447378a4a793 ("kvm: vmx: Nested VM-entry prereqs for event inj.") Cc: Marc Orr <marcorr@xxxxxxxxxx> Cc: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> Signed-off-by: Jim Mattson <jmattson@xxxxxxxxxx> Reviewed-by: Krish Sadhukhan <krish.sadhukhan@xxxxxxxxxx> Reviewed-by: Marc Orr <marcorr@xxxxxxxxxx> --- arch/x86/kvm/x86.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h index 67b9568613f3..152b20d06a48 100644 --- a/arch/x86/kvm/x86.h +++ b/arch/x86/kvm/x86.h @@ -116,7 +116,8 @@ static inline bool x86_exception_has_error_code(unsigned int vector) BIT(NP_VECTOR) | BIT(SS_VECTOR) | BIT(GP_VECTOR) | BIT(PF_VECTOR) | BIT(AC_VECTOR); - return (1U << vector) & exception_has_error_code; + WARN_ON_ONCE(vector >= 32); + return vector < 32 && (1U << vector) & exception_has_error_code; } static inline bool mmu_is_nested(struct kvm_vcpu *vcpu) -- 2.19.1.331.ge82ca0e54c-goog