]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/x86/kvm/emulate.c
KVM: x86: Emulate push sreg as done in Core
[karo-tx-linux.git] / arch / x86 / kvm / emulate.c
index 7aba1db168c9c2dd8453d00abdf93845a1d79eed..a2a9c18b42e40bd05b28ebaf6b024974a40dc9a8 100644 (file)
@@ -1817,6 +1817,10 @@ static int em_push_sreg(struct x86_emulate_ctxt *ctxt)
        int seg = ctxt->src2.val;
 
        ctxt->src.val = get_segment_selector(ctxt, seg);
+       if (ctxt->op_bytes == 4) {
+               rsp_increment(ctxt, -2);
+               ctxt->op_bytes = 2;
+       }
 
        return em_push(ctxt);
 }