From d6b0ce256503e5444833a66d51aa16f34156cb17 Mon Sep 17 00:00:00 2001 From: liankong Date: Sun, 30 Mar 2025 17:09:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A0=86=E6=A0=88=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/kpm/compact.c | 3 ++- kernel/kpm/kpm.c | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kernel/kpm/compact.c b/kernel/kpm/compact.c index 40d26377..187be99d 100644 --- a/kernel/kpm/compact.c +++ b/kernel/kpm/compact.c @@ -70,11 +70,12 @@ struct CompactProxySymbol proxy_symbol[] = { static unsigned long sukisu_find_proxy_symbol(const char* name) { // 查不到就查查兼容的符号 + int i; for(i = 0; i < (sizeof(proxy_symbol) / sizeof(struct CompactProxySymbol)); i++) { struct CompactProxySymbol* symbol = &alias_symbol[i]; if(strcmp(name, symbol->symbol_name) == 0) { if(symbol->cached_address == NULL) { - symbol->cached_address = kallsyms_lookup_name(name); + symbol->cached_address = (void*) kallsyms_lookup_name(name); } if(symbol->cached_address != NULL) { return (unsigned long) &symbol->cached_address; diff --git a/kernel/kpm/kpm.c b/kernel/kpm/kpm.c index a703466d..5817f194 100644 --- a/kernel/kpm/kpm.c +++ b/kernel/kpm/kpm.c @@ -1271,6 +1271,14 @@ bool kpm_is_allow_address(unsigned long addr) return allow; } +#ifndef CONFIG_ARCH_STACKWALK +struct stack_trace { + unsigned int nr_entries, max_entries; + unsigned long *entries; + unsigned int skip; /* input argument: How many entries to skip */ +}; +#endif + static struct kprobe dump_stack_kp = { .symbol_name = "dump_stack", };