This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhangyang-variable-monitor/source/module/monitor_kallsyms.c
2023-11-16 17:39:26 +08:00

30 lines
920 B
C

#include "monitor_kallsyms.h"
/// @brief init kallsyms_lookup_name
/// @param
/// @return 0 is success
static int fn_kallsyms_lookup_name_init(void) {
register_kprobe(&kprobe_kallsyms_lookup_name);
diag_kallsyms_lookup_name = (void *)kprobe_kallsyms_lookup_name.addr;
unregister_kprobe(&kprobe_kallsyms_lookup_name);
printk("xby-debug, diag_kallsyms_lookup_name is %p\n",
diag_kallsyms_lookup_name);
if (!diag_kallsyms_lookup_name) {
return -EINVAL;
}
return 0;
}
int init_orig_fun(void) {
fn_kallsyms_lookup_name_init(); // init kallsyms_lookup_name
LOOKUP_SYMS(stack_trace_save_tsk); // stack_trace_save_tsk
LOOKUP_SYMS(show_stack); // show_stack
LOOKUP_SYMS(idle_sched_class); // idle_sched_class
LOOKUP_SYMS(access_remote_vm); // access_remote_vm
LOOKUP_SYMS_NORET(get_task_type); // get_task_type
LOOKUP_SYMS_NORET(kernfs_name); // kernfs_name
}