KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
authorAndrew Honig <ahonig@google.com>
Fri, 1 Dec 2017 18:21:09 +0000 (10:21 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 23 Dec 2017 00:39:51 +0000 (00:39 +0000)
commit185f2d780c3b903453ddb70dca405c3e080047ba
tree2c34cec72b169f0fdc670ea892900d436ea4ff77
parentc01566a67ed0d48f9dc56737a6d3bff2fb4b601b
KVM: VMX: remove I/O port 0x80 bypass on Intel hosts

This fixes CVE-2017-1000407.

KVM allows guests to directly access I/O port 0x80 on Intel hosts.  If
the guest floods this port with writes it generates exceptions and
instability in the host kernel, leading to a crash.  With this change
guest writes to port 0x80 on Intel will behave the same as they
currently behave on AMD systems.

Prevent the flooding by removing the code that sets port 0x80 as a
passthrough port.  This is essentially the same as upstream patch
99f85a28a78e96d28907fe036e1671a218fee597, except that patch was
for AMD chipsets and this patch is for Intel.

Signed-off-by: Andrew Honig <ahonig@google.com>
Signed-off-by: Jim Mattson <jmattson@google.com>
Fixes: fdef3ad1b386 ("KVM: VMX: Enable io bitmaps to avoid IO port 0x80 VMEXITs")
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Gbp-Pq: Topic bugfix/x86
Gbp-Pq: Name kvm-vmx-remove-i-o-port-0x80-bypass-on-intel-hosts.patch
arch/x86/kvm/vmx.c