KVM: x86 emulator: use shadowed register in emulate_sysexit()
emulate_sysexit() should use shadowed registers copy instead of looking into vcpu state directly. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
@@ -2063,8 +2063,8 @@ emulate_sysexit(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops)
|
|||||||
ops->set_cached_descriptor(&ss, VCPU_SREG_SS, ctxt->vcpu);
|
ops->set_cached_descriptor(&ss, VCPU_SREG_SS, ctxt->vcpu);
|
||||||
ops->set_segment_selector(ss_sel, VCPU_SREG_SS, ctxt->vcpu);
|
ops->set_segment_selector(ss_sel, VCPU_SREG_SS, ctxt->vcpu);
|
||||||
|
|
||||||
c->eip = ctxt->vcpu->arch.regs[VCPU_REGS_RDX];
|
c->eip = c->regs[VCPU_REGS_RDX];
|
||||||
c->regs[VCPU_REGS_RSP] = ctxt->vcpu->arch.regs[VCPU_REGS_RCX];
|
c->regs[VCPU_REGS_RSP] = c->regs[VCPU_REGS_RCX];
|
||||||
|
|
||||||
return X86EMUL_CONTINUE;
|
return X86EMUL_CONTINUE;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user