我遇到了Microsemi 为其 Adaptec RAID 8805 RAID 控制器提供的 Linux 源代码驱动程序的问题。
自从从 Linux 内核升级v4.4.0-112
到v4.4.0-116
Ubuntu 16.04.3 LTS 以来,我一直无法aacraid
加载提供的内核模块,这使得操作系统可以使用附加的卷。
查看内核日志,我看到以下错误消息,例如:
aacraid: version magic '4.4.0-116-generic SMP mod_unload modversions ' should be '4.4.0-116-generic SMP mod_unload modversions retpoline '
我猜这与最近针对 Linux 内核的“retpoline”补丁有关,以解决 Spectre 漏洞。
到目前为止,我发现此问题的唯一解决方案是回滚到内核版本v4.4.0-112
或通过源代码中的 MODULE_INFO手动强制模块中的版本魔法值。
还应该注意的是,Microsemi 还为 Ubuntu 16.04 提供了预编译的二进制文件,但这仅被标记为与 Ubuntu 16.04.2/内核兼容v4.4.0-62
,就像驱动程序一样v1.2.15502
。
我想知道是否有人知道解决此问题的更好方法?
我一直与生产 Adaptec RAID 控制器的Microsemi 支持人员取得联系。
我被告知他们已经意识到这个问题,他们的工程团队正在研究如何解决这个问题。
同时,他们的建议是使用他们预编译的Ubuntu 二进制文件(它是为使用
linux-image-4.4.0-21-generic
内核映像而构建的),或者坚持使用linux-image-4.4.0-112-generic
DKMS 驱动程序(如果像我的情况一样,您需要更新的内核版本)。我已获得一个事件 ID:
180226-000003
如果您也遇到此问题并想联系 Mirosemi 支持,我建议您引用该 ID。