summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGleb Natapov <gleb@redhat.com>2011-04-12 12:36:23 +0300
committerAvi Kivity <avi@redhat.com>2011-05-22 08:39:51 -0400
commit4947e7cd0ee36e1aa37dfec4f7fa71cc64a2f0fd (patch)
tree0a9e55daba99941ddf8285374ab58a42b4be1f91 /arch
parent8d7d810255982bfcc355cdb8972d72843acb0cf8 (diff)
downloadlinux-4947e7cd0ee36e1aa37dfec4f7fa71cc64a2f0fd.tar.gz
linux-4947e7cd0ee36e1aa37dfec4f7fa71cc64a2f0fd.tar.bz2
linux-4947e7cd0ee36e1aa37dfec4f7fa71cc64a2f0fd.zip
KVM: emulator: Propagate fault in far jump emulation
Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kvm/emulate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 7466abae84bf..3624f202b440 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -3993,7 +3993,8 @@ special_insn:
jump_far:
memcpy(&sel, c->src.valptr + c->op_bytes, 2);
- if (load_segment_descriptor(ctxt, ops, sel, VCPU_SREG_CS))
+ rc = load_segment_descriptor(ctxt, ops, sel, VCPU_SREG_CS);
+ if (rc != X86EMUL_CONTINUE)
goto done;
c->eip = 0;