summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/emulate.c
diff options
context:
space:
mode:
authorAvi Kivity2012-08-21 16:07:06 +0200
committerMarcelo Tosatti2012-08-28 01:02:20 +0200
commit0afbe2f8781a812c7e501ec129eff45b21f792af (patch)
tree1b8013cd9c792f9c21b8a469b1fa043c48064e36 /arch/x86/kvm/emulate.c
parentKVM: x86 emulator: Check segment limits in real mode too (diff)
downloadkernel-qcow2-linux-0afbe2f8781a812c7e501ec129eff45b21f792af.tar.gz
kernel-qcow2-linux-0afbe2f8781a812c7e501ec129eff45b21f792af.tar.xz
kernel-qcow2-linux-0afbe2f8781a812c7e501ec129eff45b21f792af.zip
KVM: x86 emulator: Fix #GP error code during linearization
We want the segment selector, nor segment number. Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm/emulate.c')
-rw-r--r--arch/x86/kvm/emulate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 5b1c701cd6d0..1451cffd97eb 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -725,9 +725,9 @@ static int __linearize(struct x86_emulate_ctxt *ctxt,
return X86EMUL_CONTINUE;
bad:
if (addr.seg == VCPU_SREG_SS)
- return emulate_ss(ctxt, addr.seg);
+ return emulate_ss(ctxt, sel);
else
- return emulate_gp(ctxt, addr.seg);
+ return emulate_gp(ctxt, sel);
}
static int linearize(struct x86_emulate_ctxt *ctxt,