【发布时间】:2013-10-27 13:53:50
【问题描述】:
当module_exit 被触发,而模块仍在运行时会发生什么?该模块是否有可能在之后仍然运行?
【问题讨论】:
标签: linux-kernel driver
当module_exit 被触发,而模块仍在运行时会发生什么?该模块是否有可能在之后仍然运行?
【问题讨论】:
标签: linux-kernel driver
module_exit 返回后,模块中的任何内容都不应运行。如果发生这种情况,当模块的内存被释放时,系统可能会出现恐慌。
您必须:
1. 通过保留模块上的引用来防止这种情况发生,只要任何东西都可以运行,就不要释放它。
2. 取消注册您在module_exit 中注册的所有钩子并使用适当的同步,以确保所有正在运行的东西都已停止。
【讨论】: