lib/Kconfig.debug: cleanup CONFIG_DEBUG_SECTION_MISMATCH help text

Simplify formulations, correct flow, split it into proper paragraphs and
update structure.

No functional changes.

Link: https://lkml.kernel.org/r/20251029122743.1110-1-bp@kernel.org
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Borislav Petkov (AMD)
2025-10-29 13:27:43 +01:00
committed by Andrew Morton
parent 93ce0ff117
commit 7f37d88f5c

View File

@@ -483,23 +483,23 @@ config DEBUG_SECTION_MISMATCH
bool "Enable full Section mismatch analysis"
depends on CC_IS_GCC
help
The section mismatch analysis checks if there are illegal
references from one section to another section.
During linktime or runtime, some sections are dropped;
any use of code/data previously in these sections would
most likely result in an oops.
In the code, functions and variables are annotated with
__init,, etc. (see the full list in include/linux/init.h),
which results in the code/data being placed in specific sections.
The section mismatch analysis checks if there are illegal references
from one section to another. During linktime or runtime, some
sections are dropped; any use of code/data previously in these
sections would most likely result in an oops.
In the code, functions and variables are annotated with __init,
__initdata, and so on (see the full list in include/linux/init.h).
This directs the toolchain to place code/data in specific sections.
The section mismatch analysis is always performed after a full
kernel build, and enabling this option causes the following
additional step to occur:
- Add the option -fno-inline-functions-called-once to gcc commands.
When inlining a function annotated with __init in a non-init
function, we would lose the section information and thus
the analysis would not catch the illegal reference.
This option tells gcc to inline less (but it does result in
a larger kernel).
kernel build, and enabling this option causes the option
-fno-inline-functions-called-once to be added to gcc commands.
However, when inlining a function annotated with __init in
a non-init function, we would lose the section information and thus
the analysis would not catch the illegal reference. This option
tells gcc to inline less (but it does result in a larger kernel).
config SECTION_MISMATCH_WARN_ONLY
bool "Make section mismatch errors non-fatal"