Re: [PATCH v3 03/12] dump_stack: Add vmlinux build ID to stack traces

Stephen Boyd
2021-04-08T01:14:11Z

Quoting Petr Mladek (2021-04-07 07:03:19)
> On Tue 2021-03-30 20:05:11, Stephen Boyd wrote:
> > Add the running kernel's build ID[1] to the stacktrace information
> > header. This makes it simpler for developers to locate the vmlinux with
> > full debuginfo for a particular kernel stacktrace. Combined with
> > scripts/decode_stracktrace.sh, a developer can download the correct
> > vmlinux from a debuginfod[2] server and find the exact file and line
> > number for the functions plus offsets in a stacktrace.
> >
> > This is especially useful for pstore crash debugging where the kernel
> > crashes are recorded in the pstore logs and the recovery kernel is
> > different or the debuginfo doesn't exist on the device due to space
> > concerns (the data can be large and a security concern). The stacktrace
> > can be analyzed after the crash by using the build ID to find the
> > matching vmlinux and understand where in the function something went
> > wrong.
> >
> > Example stacktrace from lkdtm:
> >
> > WARNING: CPU: 4 PID: 3255 at drivers/misc/lkdtm/bugs.c:83 lkdtm_WARNING+0x28/0x30 [lkdtm]
> > Modules linked in: lkdtm rfcomm algif_hash algif_skcipher af_alg xt_cgroup uinput xt_MASQUERADE
> > CPU: 4 PID: 3255 Comm: bash Not tainted 5.11 #3 aa23f7a1231c229de205662d5a9e0d4c580f19a1
>
> I tried "echo l >/proc/sysrq-trigger" and get:
>
> [ 75.123014] CPU: 1 PID: 5079 Comm: bash Kdump: loaded Not tainted 5.12.0-rc6-default+ #169 00000080ffffffff0000000000000000
> 00000000
>
> It does not look like an unique ID. I have already reported this for
> v2. But you sent v3 just 8 hours later before I was able to provide
> more details.

Cool thanks! I'll look into it. Does kdump get the build ID properly
without these patches applied?