有没有办法确保内核模块在特定的进程上下文中运行?

时间:2014-10-10 16:23:08

标签: process linux-kernel kernel-module

基本上,我如何确保在我的模块中,特定流程为current。我已经查看了kick_process,但是我不确定如何将模块执行到该进程的上下文中,一旦将其踢入内核模式。

我发现了related question,但没有回复。我相信我的问题的答案也可以帮助提问者。

注意:我知道如果我想要一个进程的task_struct,我可以查一查。我有兴趣在特定的上下文中运行,因为我想调用引用current的函数。

1 个答案:

答案 0 :(得分:1)

我发现在内核中的特定进程的上下文中做任何事情的最好方法是睡眠进程上下文(wait_ *系列函数)并唤醒该线程并执行在该上下文中需要完成的任何操作。这意味着您必须通过IOCTL或其他东西将应用程序调用到内核中并在该线程上休眠并在需要执行某些操作时将其唤醒。这似乎是一种非常广泛使用和流行的机制。