lkml.org 
[lkml]   [2014]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.17 132/319] kvm: x86: dont kill guest on unknown exit reason
    Date
    3.17-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: "Michael S. Tsirkin" <mst@redhat.com>

    commit 2bc19dc3754fc066c43799659f0d848631c44cfe upstream.

    KVM_EXIT_UNKNOWN is a kvm bug, we don't really know whether it was
    triggered by a priveledged application. Let's not kill the guest: WARN
    and inject #UD instead.

    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/x86/kvm/svm.c | 6 +++---
    arch/x86/kvm/vmx.c | 6 +++---
    2 files changed, 6 insertions(+), 6 deletions(-)

    --- a/arch/x86/kvm/svm.c
    +++ b/arch/x86/kvm/svm.c
    @@ -3534,9 +3534,9 @@ static int handle_exit(struct kvm_vcpu *

    if (exit_code >= ARRAY_SIZE(svm_exit_handlers)
    || !svm_exit_handlers[exit_code]) {
    - kvm_run->exit_reason = KVM_EXIT_UNKNOWN;
    - kvm_run->hw.hardware_exit_reason = exit_code;
    - return 0;
    + WARN_ONCE(1, "vmx: unexpected exit reason 0x%x\n", exit_code);
    + kvm_queue_exception(vcpu, UD_VECTOR);
    + return 1;
    }

    return svm_exit_handlers[exit_code](svm);
    --- a/arch/x86/kvm/vmx.c
    +++ b/arch/x86/kvm/vmx.c
    @@ -7058,10 +7058,10 @@ static int vmx_handle_exit(struct kvm_vc
    && kvm_vmx_exit_handlers[exit_reason])
    return kvm_vmx_exit_handlers[exit_reason](vcpu);
    else {
    - vcpu->run->exit_reason = KVM_EXIT_UNKNOWN;
    - vcpu->run->hw.hardware_exit_reason = exit_reason;
    + WARN_ONCE(1, "vmx: unexpected exit reason 0x%x\n", exit_reason);
    + kvm_queue_exception(vcpu, UD_VECTOR);
    + return 1;
    }
    - return 0;
    }

    static void update_cr8_intercept(struct kvm_vcpu *vcpu, int tpr, int irr)



    \
     
     \ /
      Last update: 2014-11-12 02:41    [W:2.791 / U:0.948 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site