mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@kernel.org>
To: kbuild test robot <fengguang.wu@intel.com>
Cc: kbuild-all@01.org, linux-kernel@vger.kernel.org,
	Ingo Molnar <mingo@kernel.org>
Subject: Re: arch/x86/tools/insn_decoder_test: warning: ffffffff810005ac: 0f ff e9 ud0    %ecx,%ebp
Date: Thu, 8 Feb 2018 23:34:21 +0900	[thread overview]
Message-ID: <20180208233421.ae91bc45d5c264eb85c52e05@kernel.org> (raw)
In-Reply-To: <201802080625.McxPAKsk%fengguang.wu@intel.com>

On Thu, 8 Feb 2018 06:04:45 +0800
kbuild test robot <fengguang.wu@intel.com> wrote:

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   7590e37bdaeec25ae325f4ba450be13e2aac6c8d
> commit: 10c91577d5e631773a6394e14cf60125389b71ae x86/tools: Standardize output format of insn_decode_test
> date:   8 weeks ago
> config: x86_64-randconfig-s2-02072130 (attached as .config)
> compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
> reproduce:
>         git checkout 10c91577d5e631773a6394e14cf60125389b71ae
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
> 
> All warnings (new ones prefixed by >>):
> 
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
> >> arch/x86/tools/insn_decoder_test: warning: ffffffff810005ac:	0f ff e9             	ud0    %ecx,%ebp

Does UD0 really take an operand? Hmm, indeed, the latest Intel SDM (December2017) says

NOTES:
1. Some older processors decode the UD0 instruction without a ModR/M byte. As a result, those processors would deliver an invalid-
opcode exception instead of a fault on instruction fetch when the instruction with a ModR/M byte (and any implied bytes) would
cross a page or segment boundary.

and older SDM (e.g. March 2017) says UD0 has no modrm byte.
It is easy to change x86-opecode-map.txt, but this means this test may fail with older objdump...

>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100207e:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002218:	0f ff e9             	ud0    %ecx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002317:	0f ff e9             	ud0    %ecx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff810029f4:	0f ff e9             	ud0    %ecx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002af4:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002c27:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002da5:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002dd5:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002eda:	0f ff 65 8b          	ud0    -0x75(%rbp),%esp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81002f58:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff810030c6:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81003158:	0f ff 5b 5d          	ud0    0x5d(%rbx),%ebx
>    arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100404c:	0f ff 5b 5d          	ud0    0x5d(%rbx),%ebx
>    arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81004053:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81004056:	f7 0f ff eb ab 0f    	testl  $0xfabebff,(%rdi)
>    arch/x86/tools/insn_decoder_test: warning: objdump says 6 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81005004:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81005039:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff810052a4:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81005889:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100588d:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff810059a1:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81005a3a:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100609f:	0f ff c3             	ud0    %ebx,%eax
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100617c:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100620a:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100652b:	0f ff c3             	ud0    %ebx,%eax
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff8100655a:	0f ff e9             	ud0    %ecx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff810069ce:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81007332:	0f ff c3             	ud0    %ebx,%eax
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81007382:	0f ff c3             	ud0    %ebx,%eax
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81007c1f:	0f ff 41 8b          	ud0    -0x75(%rcx),%eax
>    arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81007c2f:	0f ff eb             	ud0    %ebx,%ebp
>    arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
>    arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>    arch/x86/tools/insn_decoder_test: warning: ffffffff81008a3c:	0f ff 5b 5d          	ud0    0x5d(%rbx),%ebx
>    arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


-- 
Masami Hiramatsu <mhiramat@kernel.org>

  reply	other threads:[~2018-02-08 14:34 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 22:04 kbuild test robot
2018-02-08 14:34 ` Masami Hiramatsu [this message]
2018-02-09  0:30   ` [kbuild-all] arch/x86/tools/insn_decoder_test: warning: ffffffff810005ac: 0f ff e9 ud0 %ecx, %ebp Hao, Shun
2018-02-10 16:01     ` Masami Hiramatsu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180208233421.ae91bc45d5c264eb85c52e05@kernel.org \
    --to=mhiramat@kernel.org \
    --cc=fengguang.wu@intel.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®