![](/img/trans.png)
[英]Why would a Linux kernel module symbol not be exported globally properly?
[英]why symbol exported from linux kernel cannot be used by module?
我在内核.c文件(例如socket.c)中定义了可变性,并如下导出:
int abcdefg;
EXPORT_SYMBOL(abcdefg);
然后使用“ sudo make bzImage”进行编译并重新启动。但是当我在自己的模块中使用它时,在对模块进行insmod时,它会显示“模块中的未知符号”。
所以我去看符号列表。 使用时
cat /proc/kallsyms | grep "abcdefg"
什么也没有。
使用时
nm vmlinux | grep "abcdefg"
有c1d2b700 B abcdefg
如何在自己的模块中使用符号?
听起来您实际上并没有在运行新内核。 –乔纳森·莱因哈特(Jonathon Reinhart)
是的,你是对的! 我忘了用“ make install”更新内核。 –珍妮
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.