KVM: x86: Move __linearize masking of la into switch
authorNadav Amit <namit@cs.technion.ac.il>
Wed, 19 Nov 2014 15:43:13 +0000 (17:43 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 19 Nov 2014 17:20:15 +0000 (18:20 +0100)
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>
arch/x86/kvm/emulate.c

index 57dc0d7..19a59f3 100644 (file)
@@ -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;