内核模块的动态链接

时间:2012-10-06 07:14:22

标签: linux-device-driver

也就是说,驱动程序是否可以尝试为另一个驱动程序导入符号,如果该符号不存在,驱动程序是否可以继续加载而不解析导入?即使可能,它甚至允许上游驱动程序?那个驱动程序已经在lnux内核中了?

1 个答案:

答案 0 :(得分:4)

任何内核模块中的EXPORT_SYMBOL或EXPORT_SYMBOL_GPL(如果导入模块具有GPL兼容许可证)导出的

符号可供其他模块使用。

  

如果符号不存在,驱动程序可以继续加载而不解析导入吗?

我不确定。但您可以验证是否从cat /proc/kallsyms的输出中导出符号。导出的符号将有两个条目。一个带有符号名称,另一个带有_ ksymtab 前缀。

例如,对于printk。

ffffffff1414fd1e2 T printk ffffffff81812550 r __ksymtab_printk