linux模块调用/proc/kallsyms中但未导出的函数



我有一个关于linux内核的项目。我们不能编译linux内核,我们必须调用未导出的函数,但这个函数可以在/proc/kallsyms中找到。(我们可以得到函数的地址)。但我们不知道调用该函数的具体方法。你能帮我们解决这个问题吗?非常感谢。

假设它是内核中的一个函数,而不是一个模块,那么你所要做的就是:

int (funcp *)(int param1, int param2, ...) = FUNCTION_ADDRESS;
funcp(param1, param2, ...);

如果它是一个模块,事情会有点困难,因为你需要记录函数从内核模块加载地址开始的偏移量,在运行时从内核获取加载地址,并计算函数地址。。。

最新更新