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: <20241204084943.GM1245331@unreal>
Date: Wed, 4 Dec 2024 10:49:43 +0200
From: Leon Romanovsky <leon@...nel.org>
To: Masahiro Yamada <masahiroy@...nel.org>
Cc: linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH rdma-next] kbuild: Respect request to silent output when
 merging configs

On Wed, Dec 04, 2024 at 05:25:50PM +0900, Masahiro Yamada wrote:
> On Tue, Dec 3, 2024 at 10:55 PM Leon Romanovsky <leon@...nel.org> wrote:
> >
> > From: Leon Romanovsky <leonro@...dia.com>
> >
> > Builds with -s option (silent) are supposed to silence all output
> > which is not an error. It is the case for target builds but not
> > for configs. These builds generate prints like this:
> >
> > ➜  kernel git:(rdma-next) make -s defconfig debug.config
> >  Using .config as base
> >  Merging ./kernel/configs/debug.config
> >  #
> >  # merged configuration written to .config (needs make)
> >  #
> >  ...
> >  Value of CONFIG_FUNCTION_TRACER is redefined by fragment ./kernel/configs/debug.config:
> >  Previous value: # CONFIG_FUNCTION_TRACER is not set
> >  New value: CONFIG_FUNCTION_TRACER=y
> >  ----
> >
> > Let's honor -s option and hide all non-error output.
> 
> 
> Is it necessary to add the --quiet option to every script?
> 
> Kbuild already provides a generic way to suppress the stdout
> with 'make -s'.
> 
> The following code works for me.
> 'make defconfig debug.config' is as verbose as before.
> 'make -s defconfig debug.config' is really silent.

This is exactly what I'm doing. I'm using -s option and added -q to very
specific merge_config script, because "-s" is already in use in that
script.

Before my change on 40384c840ea1 ("Linux 6.13-rc1"):
[leonro@...4d5fa4327 kernel]$ make -s defconfig debug.config
Using .config as base
Merging ./kernel/configs/debug.config
Value of CONFIG_DYNAMIC_DEBUG is redefined by fragment ./kernel/configs/debug.config:
Previous value: # CONFIG_DYNAMIC_DEBUG is not set
New value: CONFIG_DYNAMIC_DEBUG=y

Value of CONFIG_PRINTK_CALLER is redefined by fragment ./kernel/configs/debug.config:
Previous value: # CONFIG_PRINTK_CALLER is not set
New value: CONFIG_PRINTK_CALLER=y
...

After my change:
[leonro@...2c2078dff kernel]$ make -s defconfig debug.config <--- silent

Thanks

> 
> 
> 
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index a0a0be38cbdc..fb50bd4f4103 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -105,9 +105,11 @@ configfiles = $(wildcard
> $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARC
>  all-config-fragments = $(call configfiles,*.config)
>  config-fragments = $(call configfiles,$@)
> 
> +cmd_merge_fragments = $(srctree)/scripts/kconfig/merge_config.sh -m
> $(KCONFIG_CONFIG) $(config-fragments)
> +
>  %.config: $(obj)/conf
>         $(if $(config-fragments),, $(error $@ fragment does not exists
> on this architecture))
> -       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh
> -m $(KCONFIG_CONFIG) $(config-fragments)
> +       $(call cmd,merge_fragments)
>         $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
> 
>  PHONY += tinyconfig
> 
> 
> 
> 
> 
> -- 
> Best Regards
> Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ