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

From: Kees Cook
Date: Fri Sep 01 2023 - 15:51:09 EST


On Fri, Sep 01, 2023 at 04:58:37PM +0900, Masahiro Yamada wrote:
> On Fri, Sep 1, 2023 at 4:13 AM Kees Cook <keescook@xxxxxxxxxxxx> 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@xxxxxxxxx>
> > Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> > Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
> > Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > Cc: x86@xxxxxxxxxx
> > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > Cc: linuxppc-dev@xxxxxxxxxxxxxxxx
> > Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx
> > Cc: linux-s390@xxxxxxxxxxxxxxx
> > Cc: linux-kbuild@xxxxxxxxxxxxxxx
> > Cc: linux-hardening@xxxxxxxxxxxxxxx
> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
> > Co-developed-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> > ---
> > 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@xxxxxxxxxx
> > v1: https://lore.kernel.org/all/20230824223606.never.762-kees@xxxxxxxxxx
> > ---
> > 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.

Shall I send a v4, or did you fix this up already?

--
Kees Cook