导读 | Linux 内核开发团队日前宣布,即将发布的 Linux 6.6 版本将增强内核模块机制,以更好地防御 NVIDIA 闭源驱动的不正当行为。 |
Linux 内核开发团队日前宣布,即将发布的 Linux 6.6 版本将增强内核模块机制,以更好地防御 NVIDIA 闭源驱动的不正当行为。
Linux 内核开发者 Christoph Hellwig 发现,NVIDIA 最近通过将专有模块中的符号导入声称为 GPL 许可的模块,然后重新导出这些符号的方式,规避了 2020 年添加到内核中的防护措施。该防护措施旨在防止专有模块使用仅 GPL 许可的符号。
鉴于 symbol_get 本来就只打算用于紧密协作的模块间使用非常内部的符号,限制它只能用于 EXPORT_SYMBOL_GPL 导出的符号是合理的,也可以避免 NVIDIA 通过 DMCA 绕过访问控制措施的昂贵诉讼。
Linux 6.6 版本将只允许 symbol_get 获得 EXPORT_SYMBOL_GPL 模块的符号,以防御 NVIDIA 的规避行为。这将增强内核对专有模块只使用开源符号的保护。
2020 年第一个防护措施添加时,NVIDIA 就建议用户避免使用 Linux 5.9,后来他们在几周内发布了支持的驱动程序。这次 Linux 6.6 版本对其内核驱动程序的阻碍会持续多长时间,我们拭目以待。至少 NVIDIA 自去年开始已经在维护开源的 GPU 内核驱动程序,可以作为其专有内核驱动的替代选择。
这一改进体现了开源社区保护 GPL 许可证完整性的决心。开源驱动对用户来说无疑是更好的选择。我们期待未来内核的改进能进一步限制专有驱动的非正当行为,维护开源社区的权益。