• Avi Kivity's avatar
    KVM: VMX: Fix pending exception processing · 35920a35
    Avi Kivity authored
    The vmx code assumes that IDT-Vectoring can only be set when an exception
    is injected due to the exception in question.  That's not true, however:
    if the exception is injected correctly, and later another exception occurs
    but its delivery is blocked due to a fault, then we will incorrectly assume
    the first exception was not delivered.
    
    Fix by unconditionally dequeuing the pending exception, and requeuing it
    (or the second exception) if we see it in the IDT-Vectoring field.
    Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
    35920a35
vmx.c 86 KB