我是Linux内核开发的新手。我有几个问题要问。
当我们执行insmod时,insmod进程在哪个上下文中运行,用户空间还是系统模式?
如何在用户空间C程序中使用当前宏,或者我们是否可以选择遍历内核task_struct结构?
发布于 2015-07-13 19:41:54
insmod本身是一个用户空间程序,或者是一个指向用户空间程序的符号链接(在Fedora21上,insmod是指向/usr/bin/kmod的符号链接)。它作为用户空间应用程序运行,就像任何其他应用程序一样。insmod的特别之处在于它进行了init_module系统调用。init_module实际上是将模块加载到内核中的工具。
关于您的第二个问题,current宏仅在内核中定义。你可以在这个SO post上找到更多细节。
https://stackoverflow.com/questions/31376025
复制相似问题