[next-20251022] Kernel Boot Warnings at arch/powerpc/kernel/trace/ftrace.c:234
Josh Poimboeuf
jpoimboe at kernel.org
Thu Oct 30 13:06:54 AEDT 2025
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:
> > >
> > > 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:
> > > > > > Greetings!!!
> > > > > >
> > > > > >
> > > > > > 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.
> > > > > >
> > > > > >
> > > > > With the identified first bad commit, is casuing the kernel to boot to
> > > > > emergency mode. I reverted the bad commit and built the kernel, then kernel
> > > > > is booting fine, but with boot warnings.
> > > > I guess that it is the same problem which should get fixed by the patch
> > > > https://lore.kernel.org/r/e52ee3edf32874da645a9e037a7d77c69893a22a.1760982784.git.jpoimboe@kernel.org
> > >
> > >
> > > 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.
> Yeah. This is part of arch-specific code that does init of ftrace
> 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?
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)
More information about the Linuxppc-dev
mailing list