【问题标题】:Why can't some functions be used in kernel modules?为什么有些函数不能在内核模块中使用?
【发布时间】:2019-07-14 10:16:55
【问题描述】:

例如pgtable_types.h中的函数原型:

extern pte_t *lookup_address(unsigned long address, unsigned int *level);

在头文件中明显存在。

但是,当我使用此函数编译内核模块然后 insmod .ko 输出文件时,我得到一个 lookup_address 未找到符号错误。

这是为什么?

【问题讨论】:

    标签: c linux-kernel


    【解决方案1】:

    您的模块中有MODULE_LICENSE("GPL v2") 行吗?如果不是,则假定它是专有的,并且不允许访问标记为lookup_address 的 GPL 符号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 2018-06-05
      • 2017-12-23
      • 1970-01-01
      相关资源
      最近更新 更多