我正在使用Ubuntu 14.04 LTS
和内核版本3.13.11.4
。我正在尝试加载已修补的kvm模块kvm
和kvm-intel
,得到以下错误kvm: module verification failed: signature and/or required key missing - tainting kernel
以及kvm: module has bad taint, not creating trace events
。
使用的源与创建当前运行的映像的源相同。我已经检查了这些符号,并确保错误不是由于在我导出函数的修补文件中不包含EXPORT_SYMBOL_GPL()
引起的。
我也看到过一些关于导致这个错误的不同内核版本的东西,但是我用创建修补的kvm模块所用的同一个源代码构建了启动的内核。一切都是毫无预兆地编译的。感谢您的帮助!
最佳答案
系统的供应商似乎在内核上启用了kernel module signature verification,这意味着它不会加载任何供应商未签名的模块。换句话说,您的修补模块没有签名(正确),内核将拒绝加载它。
这样做的目的是防止恶意软件和rootkit加载恶意内核模块。
我建议你联系你的供应商。您的平台上可能有一个选项来禁用签名检查。否则,您的供应商可能会为您签署模块。您甚至可以拥有签名验证算法的密钥和详细信息,并且可以自己签名。
如果不知道你在哪个平台上运行,很难给出更具体的建议。
关于c - kvm:模块验证失败:签名和/或必需的 key 丢失-感染内核,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50601477/