社区
Linux_Kernel
帖子详情
如何访问内核模块的导出符号?
blueemotion
2005-03-10 10:32:07
假设内核模块A使用EXPORT_SYMBOL(X)导出两个函数,EXPORT_SYMBOL(fun_a),EXPORT_SYMBOL(fun_b).
模块使用insmod加载后,内核模块B想调用模块A导出的这两个函数fun_a和fun_b,该如何做?
又如果用户空间(root用户)想使用普通的应用程序(test)访问模块A导出的函数fun_a和fun_b,该如何写test?他们之间如何传递参数?
请高手指教!能有例子最好.谢谢!
...全文
330
4
打赏
收藏
如何访问内核模块的导出符号?
假设内核模块A使用EXPORT_SYMBOL(X)导出两个函数,EXPORT_SYMBOL(fun_a),EXPORT_SYMBOL(fun_b). 模块使用insmod加载后,内核模块B想调用模块A导出的这两个函数fun_a和fun_b,该如何做? 又如果用户空间(root用户)想使用普通的应用程序(test)访问模块A导出的函数fun_a和fun_b,该如何写test?他们之间如何传递参数? 请高手指教!能有例子最好.谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blueemotion
2005-03-10
打赏
举报
回复
这样编译是可以通过,可是不能连接,连接的时候说有一个unresolved symbol.
这个可不是模块编程,不需要连接成elf文件。模块在insmod时,由系统调用ld来连接
现在正在看linux device driver ,只能建一个chrdev,然后操作该设备,
达到调用模块导出符号的问题。
keysea
2005-03-10
打赏
举报
回复
内核公用符合表中包含了所有的全局内核符号即函数和变量的地址实现驱动程序模块时在很多情况下都需要使用这些全局符号公用符号表能够从文件/proc/ksyms 中以文本格式读取前提是内核支持/proc 文件系统当模块被装入内核后它所导出的任何符号都变成公用符号表的一部分在/proc/ksyms 或者
ksyms 命令的输出中我们能够看到这些新增加的符号
Linux 内核头文件提供了一个方便的方法来管理符号对模块外部的可见性从而减少了可能造成
的名字空间污染并且适当隐藏信息本节中描述的这种方法适用于2.1.18 及其后的内核版本
我认为 只要module被insmod了 就可以直接调用了 ,最差 把源文件include了不就可以了?
具体的 好好看看《linux设备驱动程序》(linux device driver) 那本书好了
blueemotion
2005-03-10
打赏
举报
回复
模块之间的访问已经搞定,只需要包含相应的定义即可
如包含头文件,或者使用extern即可
对于从root的用户空间访问内核模块导出符号,还是没有找到办法
难道只能写一个设备驱动,由驱动调用吗?
tengulre
2005-03-10
打赏
举报
回复
学习.
linux
内核模块
linux
内核模块
编写 例子程序
导出
符号
的使用
获取Linux内核未
导出
符号
的几种方式
从Linux内核的2.6某个版本开始,内核引入了
导出
符号
的机制。只有在内核中使用EXPORT_SYMBOL或EXPORT_SYMBOL_GPL
导出
的
符号
才能在
内核模块
中直接使用。然而,内核并没有
导出
所有的
符号
。例如,在3.8.0的内核中,do_...
《深入Linux设备驱动程序内核机制》.pdf
如何
导出
符号
、如何使用
导出
的
符号
?背后的内核机制 1、“处理未解决引用”问题的本质是在模块加载期间找到当前“未解决的引用“
符号
在内存中的实际目标地址。 通过“
符号
表”的形式向外界
导出
符号
信息。 由EXPORT_...
内核模块
符号
导出
驱动程序可以编译成
内核模块
,也就是KO文件。每个KO文件是相互独立的,也就是说模块之间无法互相
访问
。但是在某些使用场、要互相
访问
,如B模块要用A模块中的函数。(B模块依赖于A模块)这时候我们要怎么做呢?模块...
内核模块
导出
符号
表
在内核中有的模块都是运行在同一个3-4G的内核空间的,模块和模块间就可以进行函数的直接调用,在调用前只需要将被调用函数的
符号
表
导出
即可。在demoA模块中有一个add函数,在demoB...这个过程就使用
导出
符号
表完成。
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章