kallsyms_lookup_name函数可以通过函数名字获取对应的地址。unexporting kallsyms_lookup_name意味着out-of-tree的驱动不能够利用kallsyms_lookup_name函数调用未导出的内核函数。
unexporting kallsyms_lookup_name可能会造成的影响如下:
- live patch:live patch需要kallsyms_lookup_name函数找到对应的地址以完成函数的替换。不过kpatch的维护者Joe Lawrence说明kpatch已经不再使用kallsyms_lookup_name函数。我去github看了kpatch的代码,发现:
kpatch_set_memory_rw = (void *)kallsyms_lookup_name("set_memory_rw");
if (!kpatch_set_mem