kprobe相关内容

在BPF程序中始终获得0会话ID

我正在尝试编写一个BPF程序,该程序检查调用 tty_write 内核函数的任何进程的会话ID。我试图通过从当前 task_struct 结构中检索一个字段来做到这一点。我的代码如下: SEC(“ kprobe / tty_write”) int kprobe__tty_write(struct pt_regs * ctx) { struct task_struct * task; ..
发布时间:2020-06-07 18:36:10 其他开发

kprobes支持ftrace之后,Linux内核中的跟踪点是否冗余?

在Linux内核中有kprobe事件支持ftrace的情况下,使用跟踪点事件的用例是什么?似乎可以使用kprobe事件使用"tracepoint事件"完成所有操作,因为可以将kprobe事件设置在可用tracepoint事件的同一点. 我错过了什么吗? 解决方案 由于kprobes跟踪任意函数,因此依赖它们的工具可以轻松地从一个Linux版本过渡到另一个Linux版本.例如,可以更改 ..
发布时间:2020-05-02 03:43:31 其他开发

如何调用任何内核函数?

我知道Kprobes可用于探测任何内核功能.但是,在阅读了其文档之后,我意识到它主要是一种被动实体.它只是将探针放在执行序列的中间. 但是,如果我想直接调用任何内核函数而不用担心执行顺序该怎么办. 我该如何实现? 已更新: 注意:我想在我的内核模块中调用任何内核函数,而不是从任何用户空间应用程序中调用. 解决方案 如果我想直接调用任何内核函数怎么办 并非所 ..
发布时间:2020-05-02 03:40:41 服务器开发

kprobe处理程序未触发特定功能

我正在尝试使用kprobes拦截模块中的以下功能.为此函数传递了"register_kprobe",但调用该函数时未触发Kprobe处理程序. 奇怪的是,如果我在探测函数中打印函数地址,它将开始工作(调用kprobe处理程序).它也适用于内核中的其他功能. 为什么不触发kprobe处理程序,并且打印功能的地址有何不同? 系统在x86_64上安装了3.10内核. 无效的代码: ..
发布时间:2020-04-25 11:44:24 服务器开发