首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >insmod:错误:无法插入模块kprobe_example.ko:不允许操作

insmod:错误:无法插入模块kprobe_example.ko:不允许操作
EN

Stack Overflow用户
提问于 2016-09-19 15:06:33
回答 1查看 2.4K关注 0票数 0

我指的是:http://www-users.cs.umn.edu/~boutcher/kprobes/kprobes.txt.html来理解kprobe。我使用了文档中给出的kprobe_example.c。

我使用makefile (取自同一文档的代码)编译了它。

我得到了编译错误,因为我的内核版本是4.2,并且struct pt_regs中的一些字段被更改了。所以我在https://gist.github.com/murlee417/87c2eb43a6afa1954b05404a07813e81的kprobe_example.c中用ip代替了eip,用标志代替了eflag。然后我就可以成功地编译它了。

现在,作为root用户,我做到了:

代码语言:javascript
复制
#insmod kprobe_example.ko

我得到了:

代码语言:javascript
复制
insmod: ERROR: could not insert module kprobe_example.ko: Operation not permitted

我的消息缓冲区有:

代码语言:javascript
复制
#dmesg  
[ 4537.478408] Couldn't find do_fork to plant kprobe

请帮助我解决此错误并使insmod正常工作。

EN

回答 1

Stack Overflow用户

发布于 2016-10-06 00:01:45

在x86中,do_fork()称为sys_fork(),因此请按如下所示更改代码

代码语言:javascript
复制
/* For each probe you need to allocate a kprobe structure */
static struct kprobe kp = {
    //.symbol_name  = "do_fork",
    .symbol_name    = "sys_fork",
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39567227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档