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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250307214734.GA2871848@ax162>
Date: Fri, 7 Mar 2025 22:47:34 +0100
From: Nathan Chancellor <nathan@...nel.org>
To: Kees Cook <kees@...nel.org>
Cc: Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
	Bill Wendling <morbo@...gle.com>,
	Justin Stitt <justinstitt@...gle.com>,
	"Gustavo A. R. Silva" <gustavoars@...nel.org>, llvm@...ts.linux.dev,
	linux-hardening@...r.kernel.org, Paul Moore <paul@...l-moore.com>,
	James Morris <jmorris@...ei.org>,
	"Serge E. Hallyn" <serge@...lyn.com>, linux-kernel@...r.kernel.org,
	linux-security-module@...r.kernel.org
Subject: Re: [PATCH] hardening: Enable i386 FORTIFY_SOURCE on Clang 16+

On Tue, Mar 04, 2025 at 09:50:44AM -0800, Kees Cook wrote:
> On Mon, 03 Mar 2025 13:49:37 -0800, Kees Cook wrote:
> > The i386 regparm bug exposed with FORTIFY_SOURCE with Clang was fixed
> > in Clang 16[1].
> > 
> > 
> 
> Applied to for-next/hardening, thanks!
> 
> [1/1] hardening: Enable i386 FORTIFY_SOURCE on Clang 16+
>       https://git.kernel.org/kees/c/3e5820429980

Turns out this is actually incomplete based on my testing, I see the
following warnings with ARCH=i386 allmodconfig with all supported clang
versions:

  warning: unsafe strcpy() usage lacked '__write_overflow' symbol in lib/test_fortify/write_overflow-strcpy-lit.c
  warning: unsafe strcpy() usage lacked '__write_overflow' symbol in lib/test_fortify/write_overflow-strcpy.c

We also need to drop '-ffreestanding' from arch/x86/Makefile (which Nick
has mentioned in [1]). Time to revive [2]? :) or just do it in this
patch, since it sounds like there was no regression with GCC?

[1]: https://github.com/ClangBuiltLinux/linux/issues/1583#issuecomment-1123016466
[2]: https://lore.kernel.org/20200817220212.338670-5-ndesaulniers@google.com/

Cheers,
Nathan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ