--- /dev/null
+From 3d5e7a28b1ea2d603dea478e58e37ce75b9597ab Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Fri, 15 Oct 2021 04:50:01 -0400
+Subject: KVM: x86: avoid warning with -Wbitwise-instead-of-logical
+
+From: Paolo Bonzini <pbonzini@redhat.com>
+
+commit 3d5e7a28b1ea2d603dea478e58e37ce75b9597ab upstream.
+
+This is a new warning in clang top-of-tree (will be clang 14):
+
+In file included from arch/x86/kvm/mmu/mmu.c:27:
+arch/x86/kvm/mmu/spte.h:318:9: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]
+ return __is_bad_mt_xwr(rsvd_check, spte) |
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ||
+arch/x86/kvm/mmu/spte.h:318:9: note: cast one or both operands to int to silence this warning
+
+The code is fine, but change it anyway to shut up this clever clogs
+of a compiler.
+
+Reported-by: torvic9@mailbox.org
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Cc: Nathan Chancellor <nathan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/kvm/mmu/spte.h | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+--- a/arch/x86/kvm/mmu/spte.h
++++ b/arch/x86/kvm/mmu/spte.h
+@@ -310,12 +310,7 @@ static inline bool __is_bad_mt_xwr(struc
+ static __always_inline bool is_rsvd_spte(struct rsvd_bits_validate *rsvd_check,
+ u64 spte, int level)
+ {
+- /*
+- * Use a bitwise-OR instead of a logical-OR to aggregate the reserved
+- * bits and EPT's invalid memtype/XWR checks to avoid an extra Jcc
+- * (this is extremely unlikely to be short-circuited as true).
+- */
+- return __is_bad_mt_xwr(rsvd_check, spte) |
++ return __is_bad_mt_xwr(rsvd_check, spte) ||
+ __is_rsvd_bits_set(rsvd_check, spte, level);
+ }
+