如何解决没有初始化功能时,是否会加载内核模块?
我是第一次编写驱动程序代码。我已经检查了许多资源,这些资源指出内核模块的初始化函数是init_module()或使用MODULE_INIT()宏指定的任何其他函数。并在加载内核模块时调用此初始化函数。
但是我找不到有关可加载内核模块中不存在初始化函数并试图加载初始化函数的情况的任何信息。
如果内核模块在树中并且不具有初始化功能,会出现什么情况?
---先谢谢了。
解决方法
在例程do_init_module
中,它测试是否提供了初始化例程。如果没有,它将跳过呼叫。参见https://elixir.bootlin.com/linux/v3.10.108/source/kernel/module.c#L3092
if (mod->init != NULL)
ret = do_one_initcall(mod->init);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。