Kprobe拦截机制do_page_fault

Kprobe mechanism to intercept do_page_fault

我正在尝试拦截 linux 内核中的 __do_page_fault() 方法。注册 kprobes 的正常方式,即将 kp.addr 定义为

kp.addr = (kprobe_opcode_t *) kallsyms_lookup_name("__do_page_fault");

无效。执行此操作的正确方法是什么?

编辑: 任何其他拦截方法 do_page_fault 也适用于我。

当模块中未使用 GPL 许可证时,通常会出现此错误。在您的模块中添加以下行应该可以消除此错误:

MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL v2");