标签: linux-kernel driver
当模块仍在运行时触发module_exit时会发生什么?并且该模块之后是否仍然可以运行?
module_exit
答案 0 :(得分:3)
一旦module_exit返回,模块中的任何内容都不应该运行。如果有的话,系统可能会在模块的内存释放时发生恐慌。
你必须: 1.通过在模块上保持一个参考来防止这种情况,只要任何东西都可以运行,就不要释放它 2.取消注册您在module_exit中注册的所有挂钩并使用正确的同步,以确保正在运行的所有挂钩都已停止。