在开发和测试过程中,可能出现了一些问题,或者我想在缓存中仍有一些分配未被释放的情况下退出模块。使用仍然有元素的缓存调用kmem_cache_destroy会在dmesg:kmem_cache_destroy <my_cache>: Slab cache still has objects中抛出一个保护错误以及通常的巨大转储像这样的事情重复了这个问题:cac
module.ko' failed (No such file or directory)
Unknown symbol malloc_sizes (err 0)公认的答案是正确的:尝试删除slab.h并将缺少的方法定义为"extern“。或者在您的内核源代码中,使用"make menuconfig“并将SLAB更改为SLUB (有关更多详细信息,请参阅答案中的第一条注释)。
其余问题将在一个新的、更具体的主题中处理: