[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAFLxGvxZJv_A+YKCxVcd4yxPXLhHD5L9VzkvbFKPytxXc5vWaw@mail.gmail.com>
Date: Sat, 16 Aug 2025 14:04:34 +0200
From: Richard Weinberger <richard.weinberger@...il.com>
To: Steven Rostedt <rostedt@...dmis.org>, rmk+kernel@....linux.org.uk
Cc: Linus Torvalds <torvalds@...ux-foundation.org>, LKML <linux-kernel@...r.kernel.org>,
Gabriele Monaco <gmonaco@...hat.com>, Nam Cao <namcao@...utronix.de>,
John Kacur <jkacur@...hat.com>, Tomas Glozar <tglozar@...hat.com>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [GIT PULL] runtime verification: Updates for 6.17
[Adding ARM folks]
On Tue, Jul 29, 2025 at 11:43 PM Steven Rostedt <rostedt@...dmis.org> wrote:
> Linus,
>
> Runtime verification changes for 6.17
[...]
> - Add a vpanic() to allow for va_list to be passed to panic.
This change is causing a regression on ARM32.
panic() no longer shows a proper stack trace.
With this change:
[ 2.943690] Kernel panic - not syncing: VFS: Unable to mount root
fs on unknown-block(0,0)
[ 2.950101] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted
6.17.0-rc1 #176 NONE
[ 2.950509] Hardware name: Generic DT based system
[ 2.950865] Call trace:
[ 2.951722] unwind_backtrace from show_stack+0x18/0x1c
[ 2.953111] show_stack from dump_stack_lvl+0x54/0x68
[ 2.953312] dump_stack_lvl from vpanic+0xf8/0x388
[ 2.953526] vpanic from __do_trace_suspend_resume+0x0/0x50
With commit 3f045de7f5 "panic: Add vpanic()" reverted:
[ 2.680077] Kernel panic - not syncing: VFS: Unable to mount root
fs on unknown-block(0,0)
[ 2.690241] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted
6.17.0-rc1-dirty #177 NONE
[ 2.690832] Hardware name: Generic DT based system
[ 2.691339] Call trace:
[ 2.692530] unwind_backtrace from show_stack+0x18/0x1c
[ 2.694283] show_stack from dump_stack_lvl+0x54/0x68
[ 2.694536] dump_stack_lvl from panic+0x110/0x31c
[ 2.694944] panic from mount_root_generic+0x1fc/0x2ac
[ 2.695399] mount_root_generic from prepare_namespace+0x200/0x258
[ 2.695723] prepare_namespace from kernel_init+0x20/0x140
[ 2.695974] kernel_init from ret_from_fork+0x14/0x28
The change itself looks fine, so I suspect it uncovers a deeper
problem with panic().
Maybe it changes the stack layout enough such that dump_stack() on
ARM32 is no longer
able to walk it? I'm using gcc 15.1.1, if this matters.
To reproduce the issue using qemu, build a multi_v7_defconfig zImage and run:
qemu-system-arm -m 512 -M virt -kernel arch/arm/boot/zImage
-no-reboot -nographic -append "console=ttyAMA0 panic=1"
It will fail to mount a rootfs and panic.
--
Thanks,
//richard
Powered by blists - more mailing lists