lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YG27p1AhiOKJOm+y@alley>
Date:   Wed, 7 Apr 2021 16:03:19 +0200
From:   Petr Mladek <pmladek@...e.com>
To:     Stephen Boyd <swboyd@...omium.org>
Cc:     Andrew Morton <akpm@...ux-foundation.org>,
        linux-kernel@...r.kernel.org, Jiri Olsa <jolsa@...nel.org>,
        Alexei Starovoitov <ast@...nel.org>,
        Jessica Yu <jeyu@...nel.org>,
        Evan Green <evgreen@...omium.org>,
        Hsin-Yi Wang <hsinyi@...omium.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
        Matthew Wilcox <willy@...radead.org>
Subject: Re: [PATCH v3 03/12] dump_stack: Add vmlinux build ID to stack traces

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.

Anyway, here are the requested details:

# hex /sys/kernel/notes 
0000  04 00 00 00 06 00 00 00  06 00 00 00 58 65 6e 00  ........ ....Xen.
0010  6c 69 6e 75 78 00 00 00  04 00 00 00 04 00 00 00  linux... ........
0020  07 00 00 00 58 65 6e 00  32 2e 36 00 04 00 00 00  ....Xen. 2.6.....
0030  08 00 00 00 05 00 00 00  58 65 6e 00 78 65 6e 2d  ........ Xen.xen-
0040  33 2e 30 00 04 00 00 00  08 00 00 00 03 00 00 00  3.0..... ........
0050  58 65 6e 00 00 00 00 80  ff ff ff ff 04 00 00 00  Xen..... ........
0060  08 00 00 00 0f 00 00 00  58 65 6e 00 00 00 00 00  ........ Xen.....
0070  80 00 00 00 04 00 00 00  08 00 00 00 01 00 00 00  ........ ........
0080  58 65 6e 00 c0 11 34 93  ff ff ff ff 04 00 00 00  Xen...4. ........
0090  08 00 00 00 02 00 00 00  58 65 6e 00 00 20 00 91  ........ Xen.. ..
00a0  ff ff ff ff 04 00 00 00  29 00 00 00 0a 00 00 00  ........ ).......
00b0  58 65 6e 00 21 77 72 69  74 61 62 6c 65 5f 70 61  Xen.!wri table_pa
00c0  67 65 5f 74 61 62 6c 65  73 7c 70 61 65 5f 70 67  ge_table s|pae_pg
00d0  64 69 72 5f 61 62 6f 76  65 5f 34 67 62 00 00 00  dir_abov e_4gb...
00e0  04 00 00 00 04 00 00 00  11 00 00 00 58 65 6e 00  ........ ....Xen.
00f0  01 88 00 00 04 00 00 00  04 00 00 00 09 00 00 00  ........ ........
0100  58 65 6e 00 79 65 73 00  04 00 00 00 08 00 00 00  Xen.yes. ........
0110  08 00 00 00 58 65 6e 00  67 65 6e 65 72 69 63 00  ....Xen. generic.
0120  04 00 00 00 10 00 00 00  0d 00 00 00 58 65 6e 00  ........ ....Xen.
0130  01 00 00 00 00 00 00 00  01 00 00 00 00 00 00 00  ........ ........
0140  04 00 00 00 04 00 00 00  0e 00 00 00 58 65 6e 00  ........ ....Xen.
0150  01 00 00 00 04 00 00 00  04 00 00 00 10 00 00 00  ........ ........
0160  58 65 6e 00 01 00 00 00  04 00 00 00 08 00 00 00  Xen..... ........
0170  0c 00 00 00 58 65 6e 00  00 00 00 00 00 80 ff ff  ....Xen. ........
0180  04 00 00 00 08 00 00 00  04 00 00 00 58 65 6e 00  ........ ....Xen.
0190  00 00 00 00 00 00 00 00  04 00 00 00 14 00 00 00  ........ ........
01a0  03 00 00 00 47 4e 55 00  6c ed 77 1e 56 f7 47 d0  ....GNU. l.w.V.G.
01b0  1c 17 cd 28 25 8e 48 61  60 ee 3d e2 06 00 00 00  ...(%.Ha `.=.....
01c0  01 00 00 00 00 01 00 00  4c 69 6e 75 78 00 00 00  ........ Linux...
01d0  00 00 00 00 04 00 00 00  08 00 00 00 12 00 00 00  ........ ........
01e0  58 65 6e 00 a0 06 00 11  00 00 00 00              Xen..... ....

and

# file vmlinux-5.12.0-rc6-default+ 
vmlinux-5.12.0-rc6-default+: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, BuildID[sha1]=6ced771e56f747d01c17cd28258e486160ee3de2, not stripped

and also

# readelf -Wn vmlinux-5.12.0-rc6-default+ 

Displaying notes found in: .notes
  Owner                 Data size       Description
  Xen                  0x00000006       Unknown note type: (0x00000006)    description data: 6c 69 6e 75 78 00 
  Xen                  0x00000004       Unknown note type: (0x00000007)    description data: 32 2e 36 00 
  Xen                  0x00000008       Unknown note type: (0x00000005)    description data: 78 65 6e 2d 33 2e 30 00 
  Xen                  0x00000008       Unknown note type: (0x00000003)    description data: 00 00 00 ffffff80 ffffffff ffffffff ffffffff ffffffff 
  Xen                  0x00000008       Unknown note type: (0x0000000f)    description data: 00 00 00 00 ffffff80 00 00 00 
  Xen                  0x00000008       NT_VERSION (version)       description data: ffffffc0 11 34 ffffff83 ffffffff ffffffff ffffffff ffffffff 
  Xen                  0x00000008       NT_ARCH (architecture)     description data: 00 20 00 ffffff81 ffffffff ffffffff ffffffff ffffffff 
  Xen                  0x00000029       Unknown note type: (0x0000000a)    description data: 21 77 72 69 74 61 62 6c 65 5f 70 61 67 65 5f 74 61 62 6c 65 73 7c 70 61 65 5f 70 67 64 69 72 5f 61 62 6f 76 65 5f 34 67 62 
  Xen                  0x00000004       Unknown note type: (0x00000011)    description data: 01 ffffff88 00 00 
  Xen                  0x00000004       Unknown note type: (0x00000009)    description data: 79 65 73 00 
  Xen                  0x00000008       Unknown note type: (0x00000008)    description data: 67 65 6e 65 72 69 63 00 
  Xen                  0x00000010       Unknown note type: (0x0000000d)    description data: 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 
  Xen                  0x00000004       Unknown note type: (0x0000000e)    description data: 01 00 00 00 
  Xen                  0x00000004       Unknown note type: (0x00000010)    description data: 01 00 00 00 
  Xen                  0x00000008       Unknown note type: (0x0000000c)    description data: 00 00 00 00 00 ffffff80 ffffffff ffffffff 
  Xen                  0x00000008       Unknown note type: (0x00000004)    description data: 00 00 00 00 00 00 00 00 
  GNU                  0x00000014       NT_GNU_BUILD_ID (unique build ID bitstring)         Build ID: 6ced771e56f747d01c17cd28258e486160ee3de2
  Linux                0x00000001       OPEN       description data: 00 
  Xen                  0x00000008       Unknown note type: (0x00000012)    description data: ffffffa0 06 00 01 00 00 00 00 


Best Regards,
Petr

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ