Linux内核:获取内核驱动程序的函数地址

时间:2014-04-11 13:10:42

标签: c linux linux-kernel linux-device-driver

是否可以在Linux内核模块中获取由另一个内核模块(类似cat /proc/kallsyms)导出的函数的指针,但是使用api调用。此外,如果它不存在,可能会将目标模块加载到内存中。 基本上我要做的是在两个模块之间引入一个软依赖。所以我可以使用或不使用另一个来执行。

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。使用以下Linux内核API

  1. 使用find_symbol API,您可以搜索所需的符号是否存在
  2. 如果找不到符号,那么您可以尝试加载所需的模块,该模块使用名为find_modulerequest_module的API导出您要使用的符号。以下是这些API的示例代码here