6

我有一个从 a.ko(内核模块)导出的函数 foo() 和 foo1(),foo1() 接受输入参数,一个函数指针。我从 b.ko 调用 foo1(),并将 foo() 作为输入参数传递。

我看到 b.ko 的 insmod 失败(未知符号 foo ),即使 a.ko 在 b.ko 之前已被安装。

任何解释/解决方案?

谢谢,幸运

4

1 回答 1

5

有两种方法可以解决这个问题,1) 在同一个 Makefile 中编译两个内核模块,即objs-m := ao bo 2) 包含 **KBUILD_EXTRA_SYMBOLS =<"正在导出的内核模块的 Module.symvers 的绝对路径function or variable"> 在内核模块的 Makefile 中,它将使用导出的函数或变量。

于 2013-07-16T15:04:15.253 回答