1 From: Felix Fietkau <nbd@nbd.name>
2 Subject: kernel: when KALLSYMS is disabled, print module address + size for matching backtrace entries
4 [john@phrozen.org: felix will add this to his upstream queue]
6 lede-commit 53827cdc824556cda910b23ce5030c363b8f1461
7 Signed-off-by: Felix Fietkau <nbd@nbd.name>
9 lib/vsprintf.c | 15 +++++++++++----
10 1 file changed, 11 insertions(+), 4 deletions(-)
12 diff --git a/lib/vsprintf.c b/lib/vsprintf.c
13 index 0967771d8f7f..5d27eae49198 100644
16 @@ -669,8 +669,10 @@ char *symbol_string(char *buf, char *end, void *ptr,
17 struct printf_spec spec, const char *fmt)
20 -#ifdef CONFIG_KALLSYMS
21 char sym[KSYM_SYMBOL_LEN];
22 +#ifndef CONFIG_KALLSYMS
28 @@ -684,11 +686,16 @@ char *symbol_string(char *buf, char *end, void *ptr,
29 sprint_symbol(sym, value);
31 sprint_symbol_no_offset(sym, value);
33 - return string(buf, end, sym, spec);
35 - return special_hex_number(buf, end, value, sizeof(void *));
36 + len = snprintf(sym, sizeof(sym), "0x%lx", value);
38 + mod = __module_address(value);
40 + snprintf(sym + len, sizeof(sym) - len, " [%s@%p+0x%x]",
41 + mod->name, mod->core_layout.base,
42 + mod->core_layout.size);
44 + return string(buf, end, sym, spec);
47 static noinline_for_stack