Re: [PATCH] x86/insn: Fix vector instructions decoding on big endian

From: Vasily Gorbik
Date: Tue Nov 24 2020 - 08:36:24 EST


On Fri, Nov 13, 2020 at 11:30:52AM -0600, Josh Poimboeuf wrote:
> On Fri, Nov 13, 2020 at 05:09:54PM +0100, Vasily Gorbik wrote:
> > Running instruction decoder posttest on s390 with allyesconfig shows
> > errors. Instructions used in couple of kernel objects could not be
> > correctly decoded on big endian system.
> >
> > insn_decoder_test: warning: objdump says 6 bytes, but insn_get_length() says 5
> > insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
> > insn_decoder_test: warning: ffffffff831eb4e1: 62 d1 fd 48 7f 04 24 vmovdqa64 %zmm0,(%r12)
> > insn_decoder_test: warning: objdump says 7 bytes, but insn_get_length() says 6
> > insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
> > insn_decoder_test: warning: ffffffff831eb4e8: 62 51 fd 48 7f 44 24 01 vmovdqa64 %zmm8,0x40(%r12)
> > insn_decoder_test: warning: objdump says 8 bytes, but insn_get_length() says 6
> >
> > This is because in few places instruction field bytes are set directly
> > with further usage of "value". To address that introduce and use
> > insn_set_byte() helper, which correctly updates "value" on big endian
> > systems.
> >
> > Signed-off-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
> > ---
> > Please let me know if this patch is good as it is or I should squash it
> > into the patch 2 of my patch series and resend it again.
>
> It all looks good to me, thanks!
>
> Masami, does this patch look good, and also patches 1-2 of the series?
> (I think you previously ACKed patch 2).
>

Friendly ping...