• Ben Serebrin's avatar
    KVM: VMX: Preserve host CR4.MCE value while in guest mode. · 085e68ee
    Ben Serebrin authored
    The host's decision to enable machine check exceptions should remain
    in force during non-root mode.  KVM was writing 0 to cr4 on VCPU reset
    and passed a slightly-modified 0 to the vmcs.guest_cr4 value.
    
    Tested: Built.
    On earlier version, tested by injecting machine check
    while a guest is spinning.
    
    Before the change, if guest CR4.MCE==0, then the machine check is
    escalated to Catastrophic Error (CATERR) and the machine dies.
    If guest CR4.MCE==1, then the machine check causes VMEXIT and is
    handled normally by host Linux. After the change, injecting a machine
    check causes normal Linux machine check handling.
    Signed-off-by: default avatarBen Serebrin <serebrin@google.com>
    Reviewed-by: default avatarVenkatesh Srinivas <venkateshs@google.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    085e68ee
vmx.c 288 KB