我正在尝试获取内核空间中现有符号的大小(通过检查/proc/kallsyms
),它不属于任何模块。
主要是我研究了include/linux/kallsyms.h
andkernel/kallsyms.c
唯一的导出函数,它部分地给了我想要的东西,是sprint_symbol
,它将符号参数打印到缓冲区中。
解析缓冲区以获取符号大小在我看来并不是一个好的解决方案,但我真的不知道如何以不同的方式做到这一点(我什至尝试使用kallsyms_lookup_name
类似lookup_symbol_attrs
or的函数来“欺骗”内核kallsyms_lookup
,但他们无法解决)。
还有其他方法,我错过了吗?