Skip to contentSkip to conversation

Please apply 3d5e7a28b1ea2d603dea478e58e37ce75b9597ab to 5.15, 5.14, and 5.10

PATCH Nathan Chancellor 3 participants 3 messages Nov 4, 2021 – Nov 8, 2021

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

Hi Greg and Sasha,

Please apply commit 3d5e7a28b1ea ("KVM: x86: avoid warning with -Wbitwise-instead-of-logical") to 5.10, 5.14, and 5.15, where it resolves a build error with tip of tree clang due to -Werror:

arch/x86/kvm/mmu/mmu.c:3548:15: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]

                reserved |= __is_bad_mt_xwr(rsvd_check, sptes[level - 1]) |
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                          ||

arch/x86/kvm/mmu/mmu.c:3548:15: note: cast one or both operands to int to silence this warning 1 error generated.

It applies cleanly to 5.14 and 5.15 and I have attached a backport for 5.10. I have added Paolo in case he has any objections to this.

Cheers,
Nathan

From e632639ddfc5e0a6a9f71c38ef840b6a0439b869 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <[email protected]>
Date: Fri, 15 Oct 2021 04:50:01 -0400
Subject: [PATCH 5.10] KVM: x86: avoid warning with
-Wbitwise-instead-of-logical

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 [email protected]
[nathan: Backport to 5.10, which does not have 961f84457cd4]
---
 arch/x86/kvm/mmu/mmu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/x86/kvm/mmu/mmu.c +1 -1
index 060d9a906535..770d18dc4650 100644
@@ -3545,7 +3545,7 @@ static bool get_mmio_spte(struct kvm_vcpu *vcpu, u64 addr, u64 *sptep)
 		 * reserved bit and EPT's invalid memtype/XWR checks to avoid
 		 * adding a Jcc in the loop.
 		 */
-		reserved |= __is_bad_mt_xwr(rsvd_check, sptes[level - 1]) |
+		reserved |= __is_bad_mt_xwr(rsvd_check, sptes[level - 1]) ||
 			    __is_rsvd_bits_set(rsvd_check, sptes[level - 1],
 					       level);
 	}

base-commit: 09df347cfd189774130f8ae8267324b97aaf868e

Signature · 1 line
2.34.0.rc0
maintainer Acked-by
#1 lore raw
Quoted 7 lines · Nathan Chancellor

Hi Greg and Sasha,

Please apply commit 3d5e7a28b1ea ("KVM: x86: avoid warning with -Wbitwise-instead-of-logical") to 5.10, 5.14, and 5.15, where it resolves a build error with tip of tree clang due to -Werror:

arch/x86/kvm/mmu/mmu.c:3548:15: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]

Quoted 8 lines
                 reserved |= __is_bad_mt_xwr(rsvd_check, sptes[level - 1]) |
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                           ||

arch/x86/kvm/mmu/mmu.c:3548:15: note: cast one or both operands to int to silence this warning 1 error generated.

It applies cleanly to 5.14 and 5.15 and I have attached a backport for 5.10. I have added Paolo in case he has any objections to this.

No problem.

Paolo

#2 lore raw
Quoted 14 lines · Paolo Bonzini
Quoted 13 lines · Nathan Chancellor

Hi Greg and Sasha,

Please apply commit 3d5e7a28b1ea ("KVM: x86: avoid warning with -Wbitwise-instead-of-logical") to 5.10, 5.14, and 5.15, where it resolves a build error with tip of tree clang due to -Werror:

arch/x86/kvm/mmu/mmu.c:3548:15: error: use of bitwise '|' with boolean operands [-Werror,-Wbitwise-instead-of-logical]

                 reserved |= __is_bad_mt_xwr(rsvd_check, sptes[level - 1]) |
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                           ||

arch/x86/kvm/mmu/mmu.c:3548:15: note: cast one or both operands to int to silence this warning 1 error generated.

Quoted 6 lines
Quoted 2 lines

It applies cleanly to 5.14 and 5.15 and I have attached a backport for 5.10. I have added Paolo in case he has any objections to this.

No problem.

All now queued up, thanks.

greg k-h