Re: [PATCH v1] init: Do not select DEBUG_KERNEL by default

Sinan Kaya
2019-04-10T22:18:42Z

On 4/10/2019 6:04 PM, Kees Cook wrote:

>> I don't want any of the debug features in my kernel but still
>> need all the expert features. My kernel is considered a production
>> kernel. I don't really want to ship all the good debug enables.
>
> Production kernels enable it. e.g. Ubuntu:
> $ grep '\bCONFIG_DEBUG_KERNEL\b' /boot/config-$(uname -r)
> CONFIG_DEBUG_KERNEL=y
>

It makes sense for a general purpose operating system. It doesn't apply
to my limited case where I'm very concerned about image size.

>> I don't see the relationship between CONFIG_DEBUG and CONFIG_EXPERT
>> as none of the features except KALLSYMS depend on it. If there was
>> a compile time dependency, I'd say move it to the things that need
>> it as this patch suggests.
>
> CONFIG_DEBUG_KERNEL mainly only enables the visibility of various
> other options. I can only find two instances of it controlling a
> "default", and one is overridden by CONFIG_SMP on alpha. :)
>
> $ git grep -B2 'default.*DEBUG_KERNEL'
> arch/alpha/Kconfig.debug-config MATHEMU
> arch/alpha/Kconfig.debug- tristate "Kernel FP software
> completion" if DEBUG_KERNEL && !SMP
> arch/alpha/Kconfig.debug: default y if !DEBUG_KERNEL || SMP
> --
> kernel/trace/Kconfig-menuconfig FTRACE
> kernel/trace/Kconfig- bool "Tracers"
> kernel/trace/Kconfig: default y if DEBUG_KERNEL

If the idea is to just show, nothing should happen based on
DEBUG_KERNEL, right?

No default selection as in FTRACE, no c/S file changes in the code
path as Mathieu identified.

I can go after individual enables if you agree assuming Mathieu will
go after the changes in the other email. Let me know otherwise.

>
> What do you see enabled that CONFIG_DEBUG_KERNEL enables that you don't want?
>