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: <20251007082506-3379be47-af3b-44bb-a1f3-4026d2a282a6@linutronix.de>
Date: Tue, 7 Oct 2025 08:27:04 +0200
From: Thomas Weißschuh <thomas.weissschuh@...utronix.de>
To: Nathan Chancellor <nathan@...nel.org>
Cc: Nicolas Schier <nicolas.schier@...ux.dev>, 
	Askar Safin <safinaskar@...il.com>, Sam James <sam@...too.org>, Miguel Ojeda <ojeda@...nel.org>, 
	linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scripts/Makefile.extrawarn: Respect CONFIG_WERROR / W=e
 for hostprogs

On Mon, Oct 06, 2025 at 02:39:56PM -0700, Nathan Chancellor wrote:
> Commit 27758d8c2583 ("kbuild: enable -Werror for hostprogs")
> unconditionally enabled -Werror for the compiler, assembler, and linker
> when building the host programs, as the build footprint of the host
> programs is small (thus risk of build failures from warnings are low)
> and that stage of the build may not have Kconfig values (thus
> CONFIG_WERROR could not be used as a precondition).
> 
> While turning warnings into errors unconditionally happens in a few
> places within the kernel, it can be disruptive to people who may be
> building with newer compilers, such as while doing a bisect. While it is
> possible to avoid this behavior by passing HOSTCFLAGS=-w or
> HOSTCFLAGS=-Wno-error, it may not be the most intuitive for regular
> users not intimately familiar with Kbuild.
> 
> Avoid being disruptive to the entire build by depending on the explicit
> opt-in of CONFIG_WERROR or W=e to enable -Werror and the like while
> building the host programs. While this means there is a small portion of
> the build that does not have -Werror enabled (namely scripts/kconfig/*
> and scripts/basic/fixdep), it is better than not having it altogether.
> 
> Fixes: 27758d8c2583 ("kbuild: enable -Werror for hostprogs")
> Link: https://lore.kernel.org/20251005011100.1035272-1-safinaskar@gmail.com/

Reported-by: Askar Safin <safinaskar@...il.com>
Closes: https://lore.kernel.org/20251005011100.1035272-1-safinaskar@gmail.com/

> Signed-off-by: Nathan Chancellor <nathan@...nel.org>

Reviewed-by: Thomas Weißschuh <thomas.weissschuh@...utronix.de>


Thanks and sorry for the trouble!

> ---
>  scripts/Makefile.extrawarn | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
> index 1434cb6208cb..6af392f9cd02 100644
> --- a/scripts/Makefile.extrawarn
> +++ b/scripts/Makefile.extrawarn
> @@ -223,9 +223,11 @@ KBUILD_USERCFLAGS	+= -Werror
>  KBUILD_USERLDFLAGS	+= -Wl,--fatal-warnings
>  KBUILD_RUSTFLAGS	+= -Dwarnings
>  
> -endif
> -
> -# Hostprog flags are used during build bootstrapping and can not rely on CONFIG_ symbols.
> +# While hostprog flags are used during build bootstrapping (thus should not
> +# depend on CONFIG_ symbols), -Werror is disruptive and should be opted into.
> +# Only apply -Werror to hostprogs built after the initial Kconfig stage.
>  KBUILD_HOSTCFLAGS	+= -Werror
>  KBUILD_HOSTLDFLAGS	+= -Wl,--fatal-warnings
>  KBUILD_HOSTRUSTFLAGS	+= -Dwarnings
> +
> +endif
> 
> ---
> base-commit: 2ea77fca84f07849aa995271271340d262d0c2e9
> change-id: 20251006-kbuild-hostprogs-werror-fix-be6a3e123dfc
> 
> Best regards,
> --  
> Nathan Chancellor <nathan@...nel.org>
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ