• Joerg Roedel's avatar
    KVM: VMX: Fix x2apic check in vmx_msr_bitmap_mode() · 49e1a9d1
    Joerg Roedel authored
    The stable backport of upstream commit
    
    	904e14fb KVM: VMX: make MSR bitmaps per-VCPU
    
    has a bug in vmx_msr_bitmap_mode(). It enables the x2apic
    MSR-bitmap when the kernel emulates x2apic for the guest in
    software. The upstream version of the commit checkes whether
    the hardware has virtualization enabled for x2apic
    emulation.
    
    Since KVM emulates x2apic for guests even when the host does
    not support x2apic in hardware, this causes the intercept of
    at least the X2APIC_TASKPRI MSR to be disabled on machines
    not supporting that MSR. The result is undefined behavior,
    on some machines (Intel Westmere based) it causes a crash of
    the guest kernel when it tries to access that MSR.
    
    Change the check in vmx_msr_bitmap_mode() to match the upstream
    code. This fixes the guest crashes observed with stable
    kernels starting with v4.4.168 through v4.4.175.
    Signed-off-by: 's avatarJoerg Roedel <jroedel@suse.de>
    Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    49e1a9d1
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...