summaryrefslogtreecommitdiffstats
path: root/Revert-KVM-Don-t-accept-obviously-wrong-gsi-values-via-KVM_IRQFD.patch
blob: ebebceb9eae8a4c2be70079fb94aee161f572c6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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);