繁体   English   中英

从Linux内核模块读取或写入时获取未知符号*** _ ******(err 0)

[英]Getiing Unknown symbol ***_******(err 0) while reading or writing from linux kernel module

我知道从内核读取或写入(i / o)是一件坏事,但是在某些情况下,我必须这样做,而在读取许多站点时,我从您不应该在内核中执行的操作中得到了代码,因此可以尝试一下。 在制作模块的同时编译它给了我

警告:“ sys_write” [/ path / to / file / file.ko]未定义! 警告:“ sys_open” [/ path / to / file / file.ko]未定义!

但是我想在插入我得到的模块时插入模块

insmod:错误:无法插入模块文件。ko:模块中的未知符号

为了得到答案,我爬了一些站点( c-unkown symbol class create ),但是我有

MODULE_LICENSE( “GPL”);

在我的模块代码和意思中,在搜索时,我有办法在制作模块时使未知符号可用。 来自Documenats / kbuild / modules.txt。

然后我做了

使KBUILD_EXTRA_SYMBOLS ='/ home / lunako / Documents / ker_write / Module.symvers'

仍然没有结果。 我现在该怎么办? 谢谢

我不鼓励您继续执行操作,但是如果您坚持要这样做,则需要导出sys_open函数,以便模块可以使用它。 搜索EXPORT_SYMBOL

顺便说一句,您需要重新编译内核以使该符号可用于内核模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM