是否从内核v4中删除了jprobes?

时间:2019-03-02 11:16:46

标签: linux-kernel kernel-module kprobe

v3中有一个jprobe_example.c。但是v4中缺少它。我尝试编译具有内核v4的v3示例,并且可以给我jprobe_example.ko,但是当我尝试insmod时,它会失败

insmod: ERROR: could not insert module jprobe_example.ko: Operation not permitted.

/var/log/syslogregister_jprobe failed, returned -38

另外两个示例是insmod版。因此,问题是,是否从内核v4中删除了jprobes?为什么我可以编译模块而不编译insmod

1 个答案:

答案 0 :(得分:2)

在Linux内核中不推荐使用jprobes,并且在提交9be95bd中删除了示例文件:

commit 9be95bdc53c12ada23e39027237fd05e1393d893
Author: Masami Hiramatsu <mhiramat@kernel.org>
Date:   Fri Oct 6 08:15:57 2017 +0900

    kprobes: Remove the jprobes sample code

    Remove the jprobes sample module because jprobes are deprecated.

    [...]

该提交已合并到4.15-rc1中。

-38 is -ENOSYS,无效的系统调用号码的错误代码。