[PATCH] hardening: Enable i386 FORTIFY_SOURCE on Clang 16+

Nathan Chancellor nathan at kernel.org
Tue Mar 4 10:14:45 UTC 2025


On Mon, Mar 03, 2025 at 01:49:37PM -0800, Kees Cook wrote:
> The i386 regparm bug exposed with FORTIFY_SOURCE with Clang was fixed
> in Clang 16[1].
> 
> Link: https://github.com/llvm/llvm-project/commit/c167c0a4dcdb998affb2756ce76903a12f7d8ca5 [1]
> Signed-off-by: Kees Cook <kees at kernel.org>

Yes, thank you for catching this!

Reviewed-by: Nathan Chancellor <nathan at kernel.org>

I assume you'll take this?

> ---
> Cc: Nathan Chancellor <nathan at kernel.org>
> Cc: Nick Desaulniers <ndesaulniers at google.com>
> Cc: Bill Wendling <morbo at google.com>
> Cc: Justin Stitt <justinstitt at google.com>
> Cc: "Gustavo A. R. Silva" <gustavoars at kernel.org>
> Cc: llvm at lists.linux.dev
> Cc: linux-hardening at vger.kernel.org
> ---
>  security/Kconfig.hardening | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/security/Kconfig.hardening b/security/Kconfig.hardening
> index 23ffb0d7c845..c17366ce8224 100644
> --- a/security/Kconfig.hardening
> +++ b/security/Kconfig.hardening
> @@ -286,7 +286,7 @@ config FORTIFY_SOURCE
>  	bool "Harden common str/mem functions against buffer overflows"
>  	depends on ARCH_HAS_FORTIFY_SOURCE
>  	# https://github.com/llvm/llvm-project/issues/53645
> -	depends on !CC_IS_CLANG || !X86_32
> +	depends on !X86_32 || !CC_IS_CLANG || CLANG_VERSION >= 160000
>  	help
>  	  Detect overflows of buffers in common string and memory functions
>  	  where the compiler can determine and validate the buffer sizes.
> -- 
> 2.34.1
> 



More information about the Linux-security-module-archive mailing list