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 57dc0d79c10ea88d2a0d67f69d4769908f448bb9..19a59f3f702c73200b7561ac41f69697e331f894 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;