abh*_*bhi 5 system-calls kernel-module linux-kernel
我试图向Linux内核3.2.x添加新的系统调用。在Internet上搜索有用的参考资料时,我有一个印象,就是无法像将SO那样实现将系统调用作为可加载模块来实现吗?是否可以通过LKM添加系统调用?
我找到了另一个链接,上面写着“有一种添加系统调用而无需使用模块作为包装器重新编译内核的方法,但这超出了本文档的范围”。来源http://hekimian-williams.com/?p=20
我知道静态实现系统调用将要求我每次进行任何更改时都编译内核代码。有没有上述博客中指定的一种方法,我可以将其实现为模块。
对该方向的任何建议或指示,我们将不胜感激。
sys_call_table/ia32_sys_call_table
my_sys_call_table
)NR_syscalls
比较指令将system_call处的sys_call_table
引用修改为指向:my_sys_call_table
500 call *sys_call_table(,%eax,4)
->
500 call *my_sys_call_table(,%eax,4)
Run Code Online (Sandbox Code Playgroud)玩得开心 :)