]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
authorJan H. Schönherr <jschoenh@amazon.de>
Thu, 7 Sep 2017 18:02:30 +0000 (19:02 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Oct 2017 07:47:33 +0000 (09:47 +0200)
commitc69768cc3eb4fb41a0f3c47c6d6575fd8ead57b7
tree0dfe7c3caf60f084c7fe778c0a900f548b60d78c
parent4549616830dd2967676b882342948a2102a34c53
KVM: VMX: Do not BUG() on out-of-bounds guest IRQ

commit 3a8b0677fc6180a467e26cc32ce6b0c09a32f9bb upstream.

The value of the guest_irq argument to vmx_update_pi_irte() is
ultimately coming from a KVM_IRQFD API call. Do not BUG() in
vmx_update_pi_irte() if the value is out-of bounds. (Especially,
since KVM as a whole seems to hang after that.)

Instead, print a message only once if we find that we don't have a
route for a certain IRQ (which can be out-of-bounds or within the
array).

This fixes CVE-2017-1000252.

Fixes: efc644048ecde54 ("KVM: x86: Update IRTE for posted-interrupts")
Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kvm/vmx.c