我正在研究内核模块。简而言之:我需要分配一些内存,并在卸载模块后将其留在那里。可能吗?怎么样?
请记住,我不是在问这是不是一个好主意。我有我的理由,这很好。
答案 0 :(得分:3)
真的很容易做到。您所要做的就是在模块init函数中动态分配内存,但它们无法在exit函数中释放它。换句话说,创建一个故意的内存泄漏。
在init期间你需要小心,以避免多次进行分配(和syscall表修补)。我强烈建议不要这样做,只要加载模块,只保持监控代码处于活动状态。之后保持活动意味着您遇到了多重负载问题,并且还会让您的模块用户感到惊讶。