• Paolo Bonzini's avatar
    KVM: emulator: fix error code for __linearize · 3606189f
    Paolo Bonzini authored
    The error code for #GP and #SS is zero when the segment is used to
    access an operand or an instruction.  It is only non-zero when
    a segment register is being loaded; for limit checks this means
    cases such as:
    
    * for #GP, when RIP is beyond the limit on a far call (before the first
    instruction is executed).  We do not implement this check, but it
    would be in em_jmp_far/em_call_far.
    
    * for #SS, if the new stack overflows during an inter-privilege-level
    call to a non-conforming code segment.  We do not implement stack
    switching at all.
    
    So use an error code of zero.
    Reviewed-by: default avatarNadav Amit <namit@cs.technion.ac.il>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    3606189f
emulate.c 129 KB