]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Feb 2020 18:22:27 +0000 (19:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Feb 2020 18:22:27 +0000 (19:22 +0100)
added patches:
kvm-x86-don-t-notify-userspace-ioapic-on-edge-triggered-interrupt-eoi.patch

queue-4.14/kvm-x86-don-t-notify-userspace-ioapic-on-edge-triggered-interrupt-eoi.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/kvm-x86-don-t-notify-userspace-ioapic-on-edge-triggered-interrupt-eoi.patch b/queue-4.14/kvm-x86-don-t-notify-userspace-ioapic-on-edge-triggered-interrupt-eoi.patch
new file mode 100644 (file)
index 0000000..cdd5d84
--- /dev/null
@@ -0,0 +1,38 @@
+From 7455a8327674e1a7c9a1f5dd1b0743ab6713f6d1 Mon Sep 17 00:00:00 2001
+From: Miaohe Lin <linmiaohe@huawei.com>
+Date: Fri, 14 Feb 2020 10:32:38 +0800
+Subject: KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI
+
+From: Miaohe Lin <linmiaohe@huawei.com>
+
+commit 7455a8327674e1a7c9a1f5dd1b0743ab6713f6d1 upstream.
+
+Commit 13db77347db1 ("KVM: x86: don't notify userspace IOAPIC on edge
+EOI") said, edge-triggered interrupts don't set a bit in TMR, which means
+that IOAPIC isn't notified on EOI. And var level indicates level-triggered
+interrupt.
+But commit 3159d36ad799 ("KVM: x86: use generic function for MSI parsing")
+replace var level with irq.level by mistake. Fix it by changing irq.level
+to irq.trig_mode.
+
+Cc: stable@vger.kernel.org
+Fixes: 3159d36ad799 ("KVM: x86: use generic function for MSI parsing")
+Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/x86/kvm/irq_comm.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/x86/kvm/irq_comm.c
++++ b/arch/x86/kvm/irq_comm.c
+@@ -427,7 +427,7 @@ void kvm_scan_ioapic_routes(struct kvm_v
+                       kvm_set_msi_irq(vcpu->kvm, entry, &irq);
+-                      if (irq.level && kvm_apic_match_dest(vcpu, NULL, 0,
++                      if (irq.trig_mode && kvm_apic_match_dest(vcpu, NULL, 0,
+                                               irq.dest_id, irq.dest_mode))
+                               __set_bit(irq.vector, ioapic_handled_vectors);
+               }
index 5048005f92ca41ee57824a748c99f87d6259509c..5b49eca1fbf54edfe8503289e45c0bc6f4e646ca 100644 (file)
@@ -196,4 +196,5 @@ maintainers-update-drm-i915-bug-filing-url.patch
 revert-ipc-sem-remove-uneeded-sem_undo_list-lock-usage-in-exit_sem.patch
 mm-vmscan.c-don-t-round-up-scan-size-for-online-memory-cgroup.patch
 drm-amdgpu-soc15-fix-xclk-for-raven.patch
+kvm-x86-don-t-notify-userspace-ioapic-on-edge-triggered-interrupt-eoi.patch
 xhci-apply-xhci_pme_stuck_quirk-to-intel-comet-lake-platforms.patch