summaryrefslogtreecommitdiffstats
path: root/Revert-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_IRQFD.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Revert-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_IRQFD.patch')
-rw-r--r--Revert-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_IRQFD.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/Revert-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_IRQFD.patch b/Revert-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_IRQFD.patch
new file mode 100644
index 000000000..ebebceb9e
--- /dev/null
+++ b/Revert-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_IRQFD.patch
@@ -0,0 +1,46 @@
+From patchwork Sat Sep 16 20:12:24 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+Subject: Revert "KVM: Don't accept obviously wrong gsi values via KVM_IRQFD"
+From: =?utf-8?q?Jan_H=2E_Sch=C3=B6nherr?= <jschoenh@amazon.de>
+X-Patchwork-Id: 9954473
+Message-Id: <1505592744-31498-1-git-send-email-jschoenh@amazon.de>
+To: Paolo Bonzini <pbonzini@redhat.com>,
+ =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= <rkrcmar@redhat.com>
+Cc: =?UTF-8?q?Jan=20H=2E=20Sch=C3=B6nherr?= <jschoenh@amazon.de>,
+ linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
+ sachinp@linux.vnet.ibm.com,
+ Abdul Haleem <abdhalee@linux.vnet.ibm.com>, kvm@vger.kernel.org
+Date: Sat, 16 Sep 2017 22:12:24 +0200
+
+This reverts commit 36ae3c0a36b7456432fedce38ae2f7bd3e01a563.
+
+The commit broke compilation on !CONFIG_HAVE_KVM_IRQ_ROUTING. Also,
+there may be cases with CONFIG_HAVE_KVM_IRQ_ROUTING, where larger
+gsi values make sense.
+
+As the commit was meant as an early indicator to user space that
+something is wrong, reverting just restores the previous behavior
+where overly large values are ignored when encountered (without
+any direct feedback).
+
+Reported-by: Abdul Haleem <abdhalee@linux.vnet.ibm.com>
+Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de>
+---
+ virt/kvm/eventfd.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd.c
+index c608ab4..f2ac53a 100644
+--- a/virt/kvm/eventfd.c
++++ b/virt/kvm/eventfd.c
+@@ -565,8 +565,6 @@ kvm_irqfd(struct kvm *kvm, struct kvm_irqfd *args)
+ {
+ if (args->flags & ~(KVM_IRQFD_FLAG_DEASSIGN | KVM_IRQFD_FLAG_RESAMPLE))
+ return -EINVAL;
+- if (args->gsi >= KVM_MAX_IRQ_ROUTES)
+- return -EINVAL;
+
+ if (args->flags & KVM_IRQFD_FLAG_DEASSIGN)
+ return kvm_irqfd_deassign(kvm, args);