我写了一个linux-kernel模块,但是当我运行这个命令insmod ./...ko时,内核发布了一个错误:未定义的符号...在那之后,我寻找了很长一段时间,所有的解决方案都是使用EXPORT_SYMBOL(),所以我把它写在内核代码中并重新构建内核。有趣的事情发生了,内核说是exports duplicate symbol ... (owned by kernel)。符号似乎被导出了多次,但如果是这样,为什么我以前不能使用它?curre
我们需要访问net/ipv4/af_inet.c中的内核全局变量,这些变量不是从可加载的内核模块显式导出的。我们目前使用的是2.6.18内核。kallsyms_lookup_name似乎不再可用(未导出)
__symbol_get返回NULL (在进一步读取时,symbol_get/__ symbol _get查看内核和现有模块的符号表,该符号表仅包含导出的符号,并确保从中导出<