summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/emulate.c
diff options
context:
space:
mode:
authorNadav Amit <namit@cs.technion.ac.il>2014-11-19 16:43:13 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2014-11-19 18:20:15 +0100
commit31ff64881bed80456c5d37df905bdb66cdf29abe (patch)
treee362fcf9d4c8fb47d09aff5356f25dc0c758e0a8 /arch/x86/kvm/emulate.c
parentKVM: x86: Non-canonical access using SS should cause #SS (diff)
downloadlinux-31ff64881bed80456c5d37df905bdb66cdf29abe.tar.xz
linux-31ff64881bed80456c5d37df905bdb66cdf29abe.zip
KVM: x86: Move __linearize masking of la into switch
In __linearize there is check of the condition whether to check if masking of the linear address is needed. It occurs immediately after switch that evaluates the same condition. Merge them. Signed-off-by: Nadav Amit <namit@cs.technion.ac.il> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to '')
-rw-r--r--arch/x86/kvm/emulate.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 57dc0d79c10e..19a59f3f702c 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -670,10 +670,9 @@ static __always_inline int __linearize(struct x86_emulate_ctxt *ctxt,
}
if (size > *max_size)
goto bad;
+ la &= (u32)-1;
break;
}
- if (ctxt->mode != X86EMUL_MODE_PROT64)
- la &= (u32)-1;
if (insn_aligned(ctxt, size) && ((la & (size - 1)) != 0))
return emulate_gp(ctxt, 0);
*linear = la;