um: use %pB to print functions in stack traces

In a stack trace we get the return address, so if the call is at
the end of a function, it can get printed as the next function,
e.g.

  vpanic+0x1d3/0x435
  abort+0x0/0x4e
  do_exit+0x29c/0xcb7
  sys_exit_group+0x0/0x16
  pid_child_should_wake+0x0/0x83

Use %pB like on x86, which resolves the name with address - 1,
in the same example I get:

  vpanic+0x1d3/0x435
  panic+0x55/0x55
  do_exit+0x29c/0xcb7
  do_group_exit+0xbe/0xbe
  sys_exit_group+0x16/0x16

Link: https://patch.msgid.link/20260924085002.3ff9ca1de60a.I5ff299b6f3196ad3c51c3032a90c7158c1bbccda@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2026-09-24 08:50:01 +02:00
parent a418ab8fdd
commit ca6b181232

View File

@ -18,7 +18,7 @@ static void _print_addr(void *data, unsigned long address, int reliable)
{
const char *loglvl = data;
printk("%s [<%08lx>] %s%pS\n", loglvl, address, reliable ? "" : "? ",
printk("%s [<%08lx>] %s%pB\n", loglvl, address, reliable ? "" : "? ",
(void *)address);
}