diff options
| author | Christian Marangi <ansuelsmth@gmail.com> | 2022-10-18 22:26:34 +0200 |
|---|---|---|
| committer | Christian Marangi <ansuelsmth@gmail.com> | 2023-05-22 22:28:13 +0200 |
| commit | fa79baf4a6e2306d60ac4968fdd8935e64c358ab (patch) | |
| tree | de53f6e86a88ff7eb4930e574200a0d850efa6a9 /target/linux/generic/pending-6.1/205-backtrace_module_info.patch | |
| parent | 8fb9bbcf659ac6205554ed1680c57f3c4e0e0f54 (diff) | |
| download | upstream-fa79baf4a6e2306d60ac4968fdd8935e64c358ab.tar.gz upstream-fa79baf4a6e2306d60ac4968fdd8935e64c358ab.tar.bz2 upstream-fa79baf4a6e2306d60ac4968fdd8935e64c358ab.zip | |
generic: copy backport, hack, pending patch and config from 5.15 to 6.1
Copy backport, hack, pending patch and config from 5.15 to 6.1.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Diffstat (limited to 'target/linux/generic/pending-6.1/205-backtrace_module_info.patch')
| -rw-r--r-- | target/linux/generic/pending-6.1/205-backtrace_module_info.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/generic/pending-6.1/205-backtrace_module_info.patch b/target/linux/generic/pending-6.1/205-backtrace_module_info.patch new file mode 100644 index 00000000000..6379ce071d7 --- /dev/null +++ b/target/linux/generic/pending-6.1/205-backtrace_module_info.patch @@ -0,0 +1,41 @@ +From: Felix Fietkau <nbd@nbd.name> +Subject: kernel: when KALLSYMS is disabled, print module address + size for matching backtrace entries + +[john@phrozen.org: felix will add this to his upstream queue] + +lede-commit 53827cdc824556cda910b23ce5030c363b8f1461 +Signed-off-by: Felix Fietkau <nbd@nbd.name> +--- + lib/vsprintf.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +--- a/lib/vsprintf.c ++++ b/lib/vsprintf.c +@@ -1003,8 +1003,10 @@ char *symbol_string(char *buf, char *end + struct printf_spec spec, const char *fmt) + { + unsigned long value; +-#ifdef CONFIG_KALLSYMS + char sym[KSYM_SYMBOL_LEN]; ++#ifndef CONFIG_KALLSYMS ++ struct module *mod; ++ int len; + #endif + + if (fmt[1] == 'R') +@@ -1025,8 +1027,14 @@ char *symbol_string(char *buf, char *end + + return string_nocheck(buf, end, sym, spec); + #else +- return special_hex_number(buf, end, value, sizeof(void *)); ++ len = snprintf(sym, sizeof(sym), "0x%lx", value); ++ mod = __module_address(value); ++ if (mod) ++ snprintf(sym + len, sizeof(sym) - len, " [%s@%p+0x%x]", ++ mod->name, mod->core_layout.base, ++ mod->core_layout.size); + #endif ++ return string(buf, end, sym, spec); + } + + static const struct printf_spec default_str_spec = { |
