]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Nov 2021 07:03:39 +0000 (08:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Nov 2021 07:03:39 +0000 (08:03 +0100)
added patches:
kvm-x86-avoid-warning-with-wbitwise-instead-of-logical.patch
revert-x86-kvm-fix-vcpu-id-indexed-array-sizes.patch

queue-5.15/kvm-x86-avoid-warning-with-wbitwise-instead-of-logical.patch [new file with mode: 0644]
queue-5.15/revert-x86-kvm-fix-vcpu-id-indexed-array-sizes.patch [new file with mode: 0644]
queue-5.15/series [new file with mode: 0644]

diff --git a/queue-5.15/kvm-x86-avoid-warning-with-wbitwise-instead-of-logical.patch b/queue-5.15/kvm-x86-avoid-warning-with-wbitwise-instead-of-logical.patch
new file mode 100644 (file)
index 0000000..4b4b38d
--- /dev/null
@@ -0,0 +1,45 @@
+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);
+ }
diff --git a/queue-5.15/revert-x86-kvm-fix-vcpu-id-indexed-array-sizes.patch b/queue-5.15/revert-x86-kvm-fix-vcpu-id-indexed-array-sizes.patch
new file mode 100644 (file)
index 0000000..4c349d5
--- /dev/null
@@ -0,0 +1,55 @@
+From 1e254d0d86a0f2efd4190a89d5204b37c18c6381 Mon Sep 17 00:00:00 2001
+From: Juergen Gross <jgross@suse.com>
+Date: Mon, 13 Sep 2021 15:57:43 +0200
+Subject: Revert "x86/kvm: fix vcpu-id indexed array sizes"
+
+From: Juergen Gross <jgross@suse.com>
+
+commit 1e254d0d86a0f2efd4190a89d5204b37c18c6381 upstream.
+
+This reverts commit 76b4f357d0e7d8f6f0013c733e6cba1773c266d3.
+
+The commit has the wrong reasoning, as KVM_MAX_VCPU_ID is not defining the
+maximum allowed vcpu-id as its name suggests, but the number of vcpu-ids.
+So revert this patch again.
+
+Suggested-by: Eduardo Habkost <ehabkost@redhat.com>
+Signed-off-by: Juergen Gross <jgross@suse.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Message-Id: <20210913135745.13944-2-jgross@suse.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/kvm/ioapic.c |    2 +-
+ arch/x86/kvm/ioapic.h |    4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/arch/x86/kvm/ioapic.c
++++ b/arch/x86/kvm/ioapic.c
+@@ -96,7 +96,7 @@ static unsigned long ioapic_read_indirec
+ static void rtc_irq_eoi_tracking_reset(struct kvm_ioapic *ioapic)
+ {
+       ioapic->rtc_status.pending_eoi = 0;
+-      bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID + 1);
++      bitmap_zero(ioapic->rtc_status.dest_map.map, KVM_MAX_VCPU_ID);
+ }
+ static void kvm_rtc_eoi_tracking_restore_all(struct kvm_ioapic *ioapic);
+--- a/arch/x86/kvm/ioapic.h
++++ b/arch/x86/kvm/ioapic.h
+@@ -39,13 +39,13 @@ struct kvm_vcpu;
+ struct dest_map {
+       /* vcpu bitmap where IRQ has been sent */
+-      DECLARE_BITMAP(map, KVM_MAX_VCPU_ID + 1);
++      DECLARE_BITMAP(map, KVM_MAX_VCPU_ID);
+       /*
+        * Vector sent to a given vcpu, only valid when
+        * the vcpu's bit in map is set
+        */
+-      u8 vectors[KVM_MAX_VCPU_ID + 1];
++      u8 vectors[KVM_MAX_VCPU_ID];
+ };
diff --git a/queue-5.15/series b/queue-5.15/series
new file mode 100644 (file)
index 0000000..36cb9e6
--- /dev/null
@@ -0,0 +1,2 @@
+kvm-x86-avoid-warning-with-wbitwise-instead-of-logical.patch
+revert-x86-kvm-fix-vcpu-id-indexed-array-sizes.patch