Alloc记忆并让它在戒烟后留在那里

时间:2013-11-28 09:06:31

标签: c linux-kernel kernel-module

我正在研究内核模块。简而言之:我需要分配一些内存,并在卸载模块后将其留在那里。可能吗?怎么样?

请记住,我不是在问这是不是一个好主意。我有我的理由,这很好。

1 个答案:

答案 0 :(得分:3)

真的很容易做到。您所要做的就是在模块init函数中动态分配内存,但它们无法在exit函数中释放它。换句话说,创建一个故意的内存泄漏。

在init期间你需要小心,以避免多次进行分配(和syscall表修补)。我强烈建议不要这样做,只要加载模块,只保持监控代码处于活动状态。之后保持活动意味着您遇到了多重负载问题,并且还会让您的模块用户感到惊讶。