Intel e1000e 损坏已修复 – 已包含在 openSUSE 11.1 Beta2 中(调试和原版内核除外)
2008年10月16日 | Andreas Jaeger | 无许可
我们为 Beta2 的 Intel e1000e 网卡所做的补丁保护了芯片,使其 NVRAM 不再被损坏,并且我们确实没有收到任何新的错误报告,也无法在我们的系统上重现该错误。
Intel 的进一步调查发现问题的根源,正如 Steven Rostedt 在 linux 内核邮件列表中 所写:动态 ftrace 代码包含一些脆弱的代码,可能会写入 ioremap 内存,从而损坏 NVRAM。问题可能发生在“模块的初始化函数被释放,并且 nvram 也被 vmapped 在那里”时。完整的故事可以在 LKML 上找到。
自 9 月 24 日起,我们已为当天的内核禁用了动态 ftrace 代码,适用于所有风味,但调试和原版内核(在 x86 和 x86-64 上 - 它未在其他架构上启用)。我们还已将 NVRAM 保护补丁添加到 所有 内核风味。因此,Beta2 已经包含 - 纯粹的运气 ;) - 不仅 NVRAM 保护,而且不再包含损坏的代码。
Beta3 将包含相同的修复程序 - 并且当天的内核已更新为禁用了动态 ftrace 代码,也适用于调试和原版内核(更新到 2.6.27.1)。
因此,如果您正在运行调试或原版内核,我建议 - 为了安全起见 - 更新到 2.6.27.1 当天的内核。对于其他人:Beta2 和 Beta3 内核不应损坏您的 Intel e1000e NVRAM。
我要感谢所有参与调试和修复此问题的人,包括我们的内核开发人员 Karsten Keil 和 Jiri Kosina,他们调试并致力于解决方案,测试人员像 Stephan Binner 和 Vladimir Botka 炸毁了他们的机器并帮助调试,以及 Intel 团队开发了保护代码并找到了并修复了根本原因。
更新 2008-10-21: Beta3 将包含 2.6.271.1
修复已擦除的 e1000e 网卡
Karsten Keil 开发了一种修复损坏的 e1000e eprom 的方法。如果您需要从此错误中恢复,请通过 kkeil@suse.de 联系他。
分类: 发行版
标签