Re: [PATCH v3] kbuild: Show marked Kconfig fragments in "help"

Masahiro Yamada
2023-09-01T07:59:17Z

On Fri, Sep 1, 2023 at 4:13 AM Kees Cook <keescook@chromium.org> wrote:
>
> Currently the Kconfig fragments in kernel/configs and arch/*/configs
> that aren't used internally aren't discoverable through "make help",
> which consists of hard-coded lists of config fragments. Instead, list
> all the fragment targets that have a "# Help: " comment prefix so the
> targets can be generated dynamically.
>
> Add logic to the Makefile to search for and display the fragment and
> comment. Add comments to fragments that are intended to be direct targets.
>
> Cc: Nicolas Schier <nicolas@fjasle.eu>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> Cc: Randy Dunlap <rdunlap@infradead.org>
> Cc: linux-kernel@vger.kernel.org
> Cc: x86@kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-riscv@lists.infradead.org
> Cc: linux-s390@vger.kernel.org
> Cc: linux-kbuild@vger.kernel.org
> Cc: linux-hardening@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
> Co-developed-by: Masahiro Yamada <masahiroy@kernel.org>
> ---
> v3:
> - Use Makefile logic from Masahiro Yamada
> - Use "# Help: " prefix, but only on desired fragment targets
> v2: https://lore.kernel.org/all/20230825194329.gonna.911-kees@kernel.org
> v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org
> ---
> Makefile | 1 -
> arch/arm/configs/dram_0x00000000.config | 1 +
> arch/arm/configs/dram_0xc0000000.config | 1 +
> arch/arm/configs/dram_0xd0000000.config | 1 +
> arch/arm/configs/lpae.config | 1 +
> arch/arm64/configs/virt.config | 1 +
> arch/powerpc/configs/disable-werror.config | 1 +
> arch/powerpc/configs/security.config | 4 +++-
> arch/riscv/configs/32-bit.config | 1 +
> arch/riscv/configs/64-bit.config | 1 +
> arch/s390/configs/btf.config | 1 +
> arch/s390/configs/kasan.config | 1 +
> arch/x86/Makefile | 4 ----
> kernel/configs/debug.config | 2 ++
> kernel/configs/kvm_guest.config | 1 +
> kernel/configs/nopm.config | 2 ++
> kernel/configs/rust.config | 1 +
> kernel/configs/tiny.config | 2 ++
> kernel/configs/x86_debug.config | 1 +
> kernel/configs/xen.config | 2 ++
> scripts/kconfig/Makefile | 15 ++++++++++++---
> 21 files changed, 36 insertions(+), 9 deletions(-)
>

Just one thing.

> diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config
> index 00009f7d0835..60a4b6d80b36 100644
> --- a/kernel/configs/tiny.config
> +++ b/kernel/configs/tiny.config
> @@ -1,3 +1,5 @@
> +# Help: Size-optimized kernel image

I will drop this.

We already have a hard-coded help message.

tinyconfig - Configure the tiniest possible kernel

Then, some lines below, again.

tiny.config - Size-optimized kernel image

tiny.config is for internal use for tinyconfig.

--
Best Regards
Masahiro Yamada