因编程习惯,或内核运行期间造成未初始化内存的不经意使用,非常可能导致一些难以检查的错误。如果足够幸运,内核崩溃将直接导致错误报告系统推出一串核态调用栈的追踪序列;否则系统将有可能处于一种无响应的状态。半年前,Vegard Nossumt向Linux开源社区提交了一个基于2.6.25版内核的,旨在监控不当使用未初始化内存的补丁——kmemcheck。 本文主要调研了基于x86体系结构的kmemcheck实现策略,给出了模块中主要代码的逻辑调用关系,以及用于功能验证的内核测试模块(详见附录);扼要的评估了kmemcheck工作性能,和基于非x86体系结构的kmemcheck实现可能性。