Linux 内核中的模块加载(卸载)过程

Linux 内核中的模块加载(卸载)过程

我想知道像这样的用户空间程序如何modprobe将可执行文件从用户空间注入到内核内存?
它发出什么样的系统调用以及内核提供了哪些接口来实现这一点? (请详细解释)。

谢谢。

答案1

使用以下任一方法加载模块init_module或者finit_module。第一个从指针复制模块,第二个从文件描述符读取模块。两者都支持向模块传递附加参数以及内核的几个标志。

卸载模块是使用delete_module,它采用要卸载的模块的名称。

如果您想编写执行此操作的代码,您可能需要考虑使用libkmod;它是的一部分kmod并在所有发行版中可用。

相关内容