All of lore.kernel.org
 help / color / mirror / Atom feed
From: Borislav Petkov <bp@alien8.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: kbuild test robot <fengguang.wu@intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>,
	the arch/x86 maintainers <x86@kernel.org>
Subject: Re: [linus:master] BUILD REGRESSION a2e5790d841658485d642196dbb0927303d6c22f
Date: Wed, 7 Feb 2018 19:35:43 +0100	[thread overview]
Message-ID: <20180207183543.GA8897@pd.tnic> (raw)
In-Reply-To: <CA+55aFxU7TArLUdcndeLnhfRKLO-Vu-1d0Q6VPb9NYt+-S-LNg@mail.gmail.com>

On Wed, Feb 07, 2018 at 10:13:35AM -0800, Linus Torvalds wrote:
> Adding more people for this funky warning from the kbuild robot.
> 
> Something is confused. UD0 is 0f ff, the bytes after that shouldn't
> matter. But I guess they can be interpreted as modrm bytes, and
> somebody started doing that.
> 
> That said, intel only _documents_ UD2 (0f 0b).

They documented UD0 and UD1 a year ago or so:

0F FF /r UD0¹  r32, r/m32 RM Valid Valid Raise invalid opcode exception
0F B9 /r UD1 r32, r/m32 RM Valid Valid Raise invalid opcode exception.

and the footnote says

"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."

So those two take a ModRM byte.

And we chose UD0 for WARN, see arch/x86/include/asm/bug.h for the
reasoning.

Except objdump can't handle that insn because it doesn't have it in its
insn tables. Thus it says:

  b3:   0f ff                   (bad)
  b5:   eb                      .byte 0xeb

> Maybe we should avoid using UD0/UD1 entirely.

Or that test should ignore UD0.

Or we should add UD0 only *decoding* support to binutils - not
generating.

-- 
Regards/Gruss,
    Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

  reply	other threads:[~2018-02-07 18:36 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-07 11:44 [linus:master] BUILD REGRESSION a2e5790d841658485d642196dbb0927303d6c22f kbuild test robot
2018-02-07 18:13 ` Linus Torvalds
2018-02-07 18:35   ` Borislav Petkov [this message]
2018-02-07 18:49     ` Peter Zijlstra
2018-02-07 19:03       ` Linus Torvalds
2018-02-07 19:14         ` Peter Zijlstra
2018-02-07 19:28           ` Borislav Petkov
2018-02-07 19:43             ` Linus Torvalds
2018-02-07 20:24               ` Borislav Petkov
2018-02-08  9:13               ` Peter Zijlstra
2018-02-08  9:35                 ` Peter Zijlstra
2018-02-08  9:46                 ` Borislav Petkov
2018-02-08  9:47                 ` David Laight
2018-02-08 10:13                   ` Peter Zijlstra
2018-02-08 17:27                 ` Linus Torvalds
2018-02-08 18:03                   ` Peter Zijlstra
2018-02-08 18:15                     ` Linus Torvalds
2018-02-08 19:44                       ` Peter Zijlstra
2018-02-08 20:02                         ` Linus Torvalds
2018-02-08 20:31                         ` Borislav Petkov
2018-02-08 23:09                           ` [PATCH 0/2] objtool fixes on top of Peter's WARN UD2 patch Josh Poimboeuf
2018-02-08 23:09                             ` [PATCH 1/2] objtool: Fix seg fault in ignore_unreachable_insn() Josh Poimboeuf
2018-02-13 11:29                               ` [tip:x86/pti] objtool: Fix segfault " tip-bot for Josh Poimboeuf
2018-02-15  0:26                               ` tip-bot for Josh Poimboeuf
2018-02-08 23:09                             ` [PATCH 2/2] x86: Annotate WARN-related UD2 as reachable Josh Poimboeuf
2018-02-13 11:30                               ` [tip:x86/pti] x86/debug, objtool: Annotate WARN()-related " tip-bot for Josh Poimboeuf
2018-02-15  0:26                               ` tip-bot for Josh Poimboeuf
2018-02-09  8:13                             ` [PATCH 0/2] objtool fixes on top of Peter's WARN UD2 patch Peter Zijlstra
2018-02-09  8:12                           ` [linus:master] BUILD REGRESSION a2e5790d841658485d642196dbb0927303d6c22f Peter Zijlstra
2018-02-13 11:30                         ` [tip:x86/pti] x86/debug: Use UD2 for WARN() tip-bot for Peter Zijlstra
2018-02-15  0:27                         ` tip-bot for Peter Zijlstra
2018-02-07 18:38   ` [linus:master] BUILD REGRESSION a2e5790d841658485d642196dbb0927303d6c22f Randy Dunlap
2018-02-07 19:01     ` Linus Torvalds
2018-02-07 19:06       ` Peter Zijlstra
2018-02-07 19:10         ` Peter Zijlstra

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=20180207183543.GA8897@pd.tnic \
    --to=bp@alien8.de \
    --cc=fengguang.wu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.