Re: [next-20251022] Kernel Boot Warnings at arch/powerpc/kernel/trace/ftrace.c:234
From: Hari Bathini
Date: Thu Oct 30 2025 - 08:40:29 EST
Hi Josh,
On 30/10/25 7:36 am, Josh Poimboeuf wrote:
On Wed, Oct 29, 2025 at 11:42:54PM +0530, Hari Bathini wrote:
Hi Petr,
On 23/10/25 2:42 pm, Petr Mladek wrote:
On Wed 2025-10-22 19:56:45, Venkat Rao Bagalkote wrote:Yeah. This is part of arch-specific code that does init of ftrace
On 22/10/25 6:36 pm, Petr Mladek wrote:
On Wed 2025-10-22 17:36:18, Venkat Rao Bagalkote wrote:
On 22/10/25 1:52 pm, Venkat Rao Bagalkote wrote:I guess that it is the same problem which should get fixed by the patch
Greetings!!!With the identified first bad commit, is casuing the kernel to boot to
IBM CI has reported kernel boot warnings with next-20251022 kernel. I
see there are couple of warnings hit and eventually system boots to
emergency mode.
emergency mode. I reverted the bad commit and built the kernel, then kernel
is booting fine, but with boot warnings.
https://lore.kernel.org/r/e52ee3edf32874da645a9e037a7d77c69893a22a.1760982784.git.jpoimboe@xxxxxxxxxx
Thank you Petr, for pointing to the fix patch. It fixes the kernel booting
to emergency mode.
Great.
But boot warning still persists.
I looks like another problem. I would expect that it is in
the ftrace code, either in the generic or arch-specific part.
out line stubs. The problem seems to be since commit 1ba9f8979426
("vmlinux.lds: Unify TEXT_MAIN, DATA_MAIN, and related macros").
Before this commit, .text.startup section was featured in INIT_TEXT
but now it seems to feature in TEXT. Is this change right/intentional?
If yes, I can post a fix patch in ftrace arch-specific code accordingly.
Ah, I wasn't aware of .text.startup. Apparently it's used by KASAN,
KCSCAN and GCOV for a significant amount of constructor code, which is
only called during boot. So we should try to keep it in .init.text.
Venkat, does this fix it?
I tried the patch along with
https://lore.kernel.org/r/e52ee3edf32874da645a9e037a7d77c69893a22a.1760982784.git.jpoimboe@xxxxxxxxxx
It fixes the problems reported. Thanks!
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 5facbc9946344..9de1d900fa154 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -88,13 +88,29 @@
/*
* Support -ffunction-sections by matching .text and .text.*,
- * but exclude '.text..*'.
+ * but exclude '.text..*', .text.startup[.*], and .text.exit[.*].
*
- * Special .text.* sections that are typically grouped separately, such as
+ * .text.startup and .text.startup.* are matched later by INIT_TEXT.
+ * .text.exit and .text.exit.* are matched later by EXIT_TEXT.
+ *
+ * Other .text.* sections that are typically grouped separately, such as
* .text.unlikely or .text.hot, must be matched explicitly before using
* TEXT_MAIN.
*/
-#define TEXT_MAIN .text .text.[0-9a-zA-Z_]*
+#define TEXT_MAIN \
+ .text \
+ .text.[_0-9A-Za-df-rt-z]* \
+ .text.s[_0-9A-Za-su-z]* \
+ .text.st[_0-9A-Zb-z]* \
+ .text.sta[_0-9A-Za-qs-z]* \
+ .text.star[_0-9A-Za-su-z]* \
+ .text.start[_0-9A-Za-tv-z]* \
+ .text.startu[_0-9A-Za-oq-z]* \
+ .text.startup[_0-9A-Za-z]* \
+ .text.e[_0-9A-Za-wy-z]* \
+ .text.ex[_0-9A-Za-hj-z]* \
+ .text.exi[_0-9A-Za-su-z]* \
+ .text.exit[_0-9A-Za-z]*
/*
* Support -fdata-sections by matching .data, .data.*, and others,
@@ -713,16 +729,16 @@
#define INIT_TEXT \
*(.init.text .init.text.*) \
- *(.text.startup)
+ *(.text.startup .text.startup.*)
#define EXIT_DATA \
*(.exit.data .exit.data.*) \
*(.fini_array .fini_array.*) \
- *(.dtors .dtors.*) \
+ *(.dtors .dtors.*)
#define EXIT_TEXT \
*(.exit.text) \
- *(.text.exit) \
+ *(.text.exit .text.exit.*)
#define EXIT_CALL \
*(.exitcall.exit)