lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <c0f0814a-8333-49e1-8e50-740e4c88d94b@app.fastmail.com>
Date: Mon, 05 Jan 2026 23:12:15 +0100
From: "Arnd Bergmann" <arnd@...db.de>
To: "Dave Hansen" <dave.hansen@...el.com>,
 "Randy Dunlap" <rdunlap@...radead.org>, linux-kernel@...r.kernel.org
Cc: "Ingo Molnar" <mingo@...nel.org>, "Thomas Gleixner" <tglx@...utronix.de>,
 "Borislav Petkov" <bp@...en8.de>,
 "Dave Hansen" <dave.hansen@...ux.intel.com>, x86@...nel.org
Subject: Re: [PATCH] x86/cpu: drop unused Kconfig symbol X86_P6_NOP

On Mon, Jan 5, 2026, at 22:05, Dave Hansen wrote:
> On 1/5/26 13:02, Dave Hansen wrote:
>> It's either that or I'm reading the Makefile logic backwards (wouldn't
>> be the first time 🙂.

I saws the same thing, saw your email before I sent my reply

> Oh, and I'd also randomly guess that this binutils "bug" has long since
> been fixed or become irrelevant. So this might be a bit silly to even
> discuss.
>
> But, let's at least make sure to document in the changelog what we
> _might_ be breaking and not pretend that this has zero consequences.

In all binutils versions I can find (2.36.1+), calling 'as --32'
uses the portable NOP instructions for a 16 byte nop:

   0:	90                   	nop
   1:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
   8:	8d b4 26 00 00 00 00 	lea    0x0(%esi,%eiz,1),%esi
   f:	90                   	nop

while passing either --64 or -mtune=generic64 makes it use nopl,
same for -mtime=pentium4 or others:

   0:	90                   	nop
   1:	66 66 2e 0f 1f 84 00 	data16 nopw %cs:0x0(%eax,%eax,1)
   8:	00 00 00 00 
   c:	0f 1f 40 00          	nopl   0x0(%eax)

According to the description of 28f7e66fc1da ("x86: prevent
binutils from being "smart" and generating NOPLs for us"),
gcc-4.3 and later no longer cause the problem, as they don't
pass down -mtune=. I confirmed this with gcc-8 and gcc-15.

      Arnd

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ