Kernel 从KProbe处理程序打开/写入文件

Kernel 从KProbe处理程序打开/写入文件,kernel,linux-kernel,Kernel,Linux Kernel,我正在使用KProbe编写一个Linux内核模块来跟踪特定的系统调用,我需要从KProbe处理程序(特别是Kretprobe)中写入一个文件。我知道这通常是不建议的,但我需要将输出写入一个非常特定的位置,所以我不能使用任何标准的日志机制 我可以通过模块中的init()函数很好地打开/写入,但是当我尝试在探测处理程序中打开/写入时,内核崩溃。您能显示代码或部分代码吗?通常,不应在Kprobe处理程序中执行繁重的操作(禁用抢占和本地中断等)。是否可以使用工作队列在限制较少的环境中执行这些文件操作?

我正在使用KProbe编写一个Linux内核模块来跟踪特定的系统调用,我需要从KProbe处理程序(特别是Kretprobe)中写入一个文件。我知道这通常是不建议的,但我需要将输出写入一个非常特定的位置,所以我不能使用任何标准的日志机制


我可以通过模块中的init()函数很好地打开/写入,但是当我尝试在探测处理程序中打开/写入时,内核崩溃。

您能显示代码或部分代码吗?通常,不应在Kprobe处理程序中执行繁重的操作(禁用抢占和本地中断等)。是否可以使用工作队列在限制较少的环境中执行这些文件操作?