首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尽管设置了MODULE_LICENSE,但仍收到消息"module license 'unspecified‘taints kernel“

尽管设置了MODULE_LICENSE,但仍收到消息"module license 'unspecified‘taints kernel“
EN

Stack Overflow用户
提问于 2013-05-29 16:49:17
回答 3查看 12.8K关注 0票数 7

我目前正在尝试运行一个内核模块。这个模块似乎可以在各种Linux机器上很好地工作,但是,当我尝试在特定的机器上运行它(即,内核版本为2.6的CentOS )时,该模块无法启动,并声称我没有设置模块许可证,因此不允许我使用各种必要的内核API。

我已经在我的主源文件(包含module_init和module_exit的那个文件)的底部设置了MODULE_LICENSE("GPL"),就我所能找到的所有示例而言,这已经足够了。我应该注意到我的项目有多个文件。

我有点难住了,所以任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-03 18:51:22

好了,我知道我做错了什么。我尝试为我的模块编译启用-Werror标志。为此,我在makefile中添加了以下行:

CFLAGS_MODULE=-错误

我认为这搞乱了内核模块许可的某些方面。删除这一行可以使模块再次工作。如果你遇到了这类问题,请确保你没有在makefile中摆弄环境变量。

票数 2
EN

Stack Overflow用户

发布于 2013-06-03 17:09:47

首先,验证许可信息是否存在于模块对象文件中。

objdump -sj.modinfo yourModule.ko

票数 5
EN

Stack Overflow用户

发布于 2016-12-04 19:19:42

我刚刚遇到了同样的问题,只有在我在模块的makefile引用的每个c文件的开头(在includes之后)编写了MODULE_LICENSE("GPL")之后,这个问题才得到解决。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16809378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档