mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* arch/x86/tools/insn_decoder_test: warning: ffffffff810005de:   0f ff e8                     ud0    %eax,%ebp
@ 2018-02-07  6:15 kbuild test robot
  2018-02-08 15:17 ` [PATCH] x86/decoder: Update UD0 to have operands Masami Hiramatsu
  0 siblings, 1 reply; 4+ messages in thread
From: kbuild test robot @ 2018-02-07  6:15 UTC (permalink / raw)
  To: Masami Hiramatsu; +Cc: kbuild-all, linux-kernel, Ingo Molnar

[-- Attachment #1: Type: text/plain, Size: 11156 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   ab2d92ad881da11331280aedf612d82e61cb6d41
commit: 10c91577d5e631773a6394e14cf60125389b71ae x86/tools: Standardize output format of insn_decode_test
date:   8 weeks ago
config: x86_64-randconfig-s3-02070914 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
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: ffffffff810005de:	0f ff e8             	ud0    %eax,%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: ffffffff810010d7:	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: ffffffff81001152:	0f ff bf 09 00 00 00 	ud0    0x9(%rdi),%edi
   arch/x86/tools/insn_decoder_test: warning: objdump says 7 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: ffffffff81001275:	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: ffffffff810019b2:	0f ff e8             	ud0    %eax,%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: ffffffff81001afc:	0f ff e8             	ud0    %eax,%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: ffffffff81001c23:	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: ffffffff81002502:	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: ffffffff8100267e:	0f ff e8             	ud0    %eax,%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: ffffffff810028a0:	0f ff e8             	ud0    %eax,%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: ffffffff81002a94:	0f ff e8             	ud0    %eax,%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: ffffffff81002b17:	0f ff e8             	ud0    %eax,%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: ffffffff81002e20:	0f ff 83 cd 01 e8 17 	ud0    0x17e801cd(%rbx),%eax
   arch/x86/tools/insn_decoder_test: warning: objdump says 7 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: ffffffff81002eea:	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: ffffffff81003e27:	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: ffffffff81003e3b:	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: ffffffff81003e5a:	0f ff e8             	ud0    %eax,%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: ffffffff81004d85:	0f ff 41 83          	ud0    -0x7d(%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: ffffffff81004dd2:	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: ffffffff81005469:	0f ff e8             	ud0    %eax,%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: ffffffff810057ab:	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: ffffffff81006694:	0f ff 83 cb 01 e8 a3 	ud0    -0x5c17fe35(%rbx),%eax
   arch/x86/tools/insn_decoder_test: warning: objdump says 7 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: ffffffff81006c3a:	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: ffffffff81006c55:	0f ff e8             	ud0    %eax,%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: ffffffff8100740d:	0f ff 48 8b          	ud0    -0x75(%rax),%ecx
   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: ffffffff810074d3:	0f ff 80 bd c4 11 00 	ud0    0x11c4bd(%rax),%eax
   arch/x86/tools/insn_decoder_test: warning: objdump says 7 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: ffffffff810074fb:	0f ff 83 c8 ff 89 c2 	ud0    -0x3d760038(%rbx),%eax
   arch/x86/tools/insn_decoder_test: warning: objdump says 7 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: ffffffff8100750c:	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: ffffffff81007e68:	0f ff 65 48          	ud0    0x48(%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: ffffffff810081da:	0f ff 65 4c          	ud0    0x4c(%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: ffffffff810085a1:	0f ff 48 83          	ud0    -0x7d(%rax),%ecx
   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: ffffffff810089bd:	0f ff 48 81          	ud0    -0x7f(%rax),%ecx
   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: ffffffff81009a12:	0f ff 58 5a          	ud0    0x5a(%rax),%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: ffffffff81009e20:	0f ff 65 8a          	ud0    -0x76(%rbp),%esp
   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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 24339 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] x86/decoder: Update UD0 to have operands
  2018-02-07  6:15 arch/x86/tools/insn_decoder_test: warning: ffffffff810005de: 0f ff e8 ud0 %eax,%ebp kbuild test robot
@ 2018-02-08 15:17 ` Masami Hiramatsu
  2018-02-10 19:26   ` kbuild test robot
  0 siblings, 1 reply; 4+ messages in thread
From: Masami Hiramatsu @ 2018-02-08 15:17 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: mhiramat, linux-kernel, Thomas Gleixner, H . Peter Anvin, x86

According to the December 2017 Intel SDM publication,
UD0 now has 2 operands by MODRM byte. So it's length should
be 3 bytes.

Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Reported-by: kbuild test robot <fengguang.wu@intel.com>
---
 arch/x86/lib/x86-opcode-map.txt               |    3 ++-
 tools/objtool/arch/x86/lib/x86-opcode-map.txt |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
index e0b85930dd77..131a76b3fa5e 100644
--- a/arch/x86/lib/x86-opcode-map.txt
+++ b/arch/x86/lib/x86-opcode-map.txt
@@ -607,7 +607,8 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
 fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
 fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
 fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
-ff: UD0
+# UD0 is special. This is changed in newer processor to have operands.
+ff: UD0 Gd,Ed
 EndTable
 
 Table: 3-byte opcode 1 (0x0f 0x38)
diff --git a/tools/objtool/arch/x86/lib/x86-opcode-map.txt b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
index e0b85930dd77..131a76b3fa5e 100644
--- a/tools/objtool/arch/x86/lib/x86-opcode-map.txt
+++ b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
@@ -607,7 +607,8 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
 fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
 fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
 fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
-ff: UD0
+# UD0 is special. This is changed in newer processor to have operands.
+ff: UD0 Gd,Ed
 EndTable
 
 Table: 3-byte opcode 1 (0x0f 0x38)

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86/decoder: Update UD0 to have operands
  2018-02-08 15:17 ` [PATCH] x86/decoder: Update UD0 to have operands Masami Hiramatsu
@ 2018-02-10 19:26   ` kbuild test robot
  2018-02-12 16:34     ` Masami Hiramatsu
  0 siblings, 1 reply; 4+ messages in thread
From: kbuild test robot @ 2018-02-10 19:26 UTC (permalink / raw)
  To: Masami Hiramatsu
  Cc: kbuild-all, Ingo Molnar, mhiramat, linux-kernel, Thomas Gleixner,
	H . Peter Anvin, x86

[-- Attachment #1: Type: text/plain, Size: 2116 bytes --]

Hi Masami,

I love your patch! Perhaps something to improve:

[auto build test WARNING on tip/auto-latest]
[also build test WARNING on v4.15 next-20180209]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/x86-decoder-Update-UD0-to-have-operands/20180211-013327
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

>> drivers/regulator/devres.o: warning: objtool: devm_regulator_unregister_notifier()+0x2e: can't decode instruction
--
>> sound/core/info.o: warning: objtool: snd_info_get_line()+0x9: can't find jump dest instruction at .text+0x8b5
--
>> sound/core/sound_oss.o: warning: objtool: snd_oss_kernel_minor()+0x5: can't find jump dest instruction at .text+0x36
--
>> sound/core/hwdep.o: warning: objtool: snd_hwdep_dsp_load()+0x78: can't find jump dest instruction at .text+0x5fa
--
>> sound/core/timer.o: warning: objtool: snd_timer_notify()+0x49: return with modified stack frame
--
>> sound/core/hrtimer.o: warning: objtool: snd_hrtimer_callback()+0x62: can't find jump dest instruction at .text+0x108
--
>> sound/core/pcm_lib.o: warning: objtool: snd_pcm_playback_silence()+0x17b: can't find jump dest instruction at .text+0x9b9
--
>> sound/drivers/opl3/opl3_lib.o: warning: objtool: snd_opl3_create()+0x1f5: can't find jump dest instruction at .text+0x628
--
>> sound/drivers/opl3/opl3_midi.o: warning: objtool: snd_opl3_kill_voice()+0x9: can't find jump dest instruction at .text+0x12
--
>> drivers/media/dvb-core/dvb_math.o: warning: objtool: intlog2()+0x2: can't find jump dest instruction at .text+0x9
--
>> drivers/gpu/drm/ttm/ttm_execbuf_util.o: warning: objtool: ttm_eu_backoff_reservation()+0x64: can't find jump dest instruction at .text+0xb5
..

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30714 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] x86/decoder: Update UD0 to have operands
  2018-02-10 19:26   ` kbuild test robot
@ 2018-02-12 16:34     ` Masami Hiramatsu
  0 siblings, 0 replies; 4+ messages in thread
From: Masami Hiramatsu @ 2018-02-12 16:34 UTC (permalink / raw)
  To: kbuild test robot
  Cc: kbuild-all, Ingo Molnar, linux-kernel, Thomas Gleixner,
	H . Peter Anvin, x86

On Sun, 11 Feb 2018 03:26:12 +0800
kbuild test robot <lkp@intel.com> wrote:

> Hi Masami,
> 
> I love your patch! Perhaps something to improve:
> 
> [auto build test WARNING on tip/auto-latest]
> [also build test WARNING on v4.15 next-20180209]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/x86-decoder-Update-UD0-to-have-operands/20180211-013327
> config: x86_64-acpi-redef (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=x86_64 
> 
> All warnings (new ones prefixed by >>):
> 
> >> drivers/regulator/devres.o: warning: objtool: devm_regulator_unregister_notifier()+0x2e: can't decode instruction
> --
> >> sound/core/info.o: warning: objtool: snd_info_get_line()+0x9: can't find jump dest instruction at .text+0x8b5
> --
> >> sound/core/sound_oss.o: warning: objtool: snd_oss_kernel_minor()+0x5: can't find jump dest instruction at .text+0x36
> --
> >> sound/core/hwdep.o: warning: objtool: snd_hwdep_dsp_load()+0x78: can't find jump dest instruction at .text+0x5fa
> --
> >> sound/core/timer.o: warning: objtool: snd_timer_notify()+0x49: return with modified stack frame
> --
> >> sound/core/hrtimer.o: warning: objtool: snd_hrtimer_callback()+0x62: can't find jump dest instruction at .text+0x108
> --
> >> sound/core/pcm_lib.o: warning: objtool: snd_pcm_playback_silence()+0x17b: can't find jump dest instruction at .text+0x9b9
> --
> >> sound/drivers/opl3/opl3_lib.o: warning: objtool: snd_opl3_create()+0x1f5: can't find jump dest instruction at .text+0x628
> --
> >> sound/drivers/opl3/opl3_midi.o: warning: objtool: snd_opl3_kill_voice()+0x9: can't find jump dest instruction at .text+0x12
> --
> >> drivers/media/dvb-core/dvb_math.o: warning: objtool: intlog2()+0x2: can't find jump dest instruction at .text+0x9
> --
> >> drivers/gpu/drm/ttm/ttm_execbuf_util.o: warning: objtool: ttm_eu_backoff_reservation()+0x64: can't find jump dest instruction at .text+0xb5
> ..

Ugg, OK this is what I worried about :(
This might mean gcc generated UD0 without MODRM binary but the tool check it with MODRM...
I will check it.

Thanks,


-- 
Masami Hiramatsu <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-02-12 16:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-07  6:15 arch/x86/tools/insn_decoder_test: warning: ffffffff810005de: 0f ff e8 ud0 %eax,%ebp kbuild test robot
2018-02-08 15:17 ` [PATCH] x86/decoder: Update UD0 to have operands Masami Hiramatsu
2018-02-10 19:26   ` kbuild test robot
2018-02-12 16:34     ` Masami Hiramatsu

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®