Linux 最新资讯 20260617——Mozilla Firefox 采用 zlib-rs 提升安全性与性能
Mozilla Firefox 采用 zlib-rs 提升安全性与性能 自五月发布 Firefox 151 以来,Mozilla 一直依赖 zlib-rs 库进行 Gzip 压缩/解压缩。这一改用基于 Rust 的 Zlib 实现的细微变化,带来了性能提升和更好的内存安全性,但在处理英特尔 CPU 缺陷时也引发了一些麻烦。 Trifecta Tech Foundation 今日公布了 Firefox 使用 zlib-rs 的细节。他们指出,与 Mozilla 的对话始于两年前,最终才达到在 Firefox 生产环境中发布 zlib-rs 的状态。 尽管 zlib-rs 被宣传为基于 C 语言的 Zlib 的“即插即用”替代品,但实际上,由于不同压缩级别所使用的算法发生变化,这一过程并不顺利。随后,zlib-rs 还受到了英特尔第 13 代/第 14 代酷睿 CPU 稳定性问题的影响。修复英特尔 CPU 问题最终意味着需要添加少量“不安全”的新代码。 但最终,zlib-rs 实现提供了更好的内存安全性以及更出色的性能,至少在 x86_64 架构上是如此。在 AArch64 架构上,与苹果提供的 macOS zlib 代码相比,zlib-rs 能够更好地调整其代码,从而带来一些显著的性能提升。 关于 Firefox 中这场 zlib-rs 行动的更多详情,请阅读 Trifecta Tech Foundation 博客。 继上周 Wine 11.11 发布(为 Wine Wayland 驱动带来了用于透明度处理的 alpha 修饰符支持)之后,本周 Wine 又合入了对 Wine Wayland 驱动的小数缩放支持。 Wine 的原生 Wayland 驱动现已支持小数缩放!对于使用高分辨率显示器的用户来说,这比通过 XWayland 能获得更友好的 UI 缩放体验。winewayland.drv 的小数缩放支持由 Etaash Mathamsetty 实现,并已在下周 Wine 11.12 双周开发版发布前完成合入。Mathamsetty 在合并请求中解释了该功能及其相比使用 XWayland 的优越性: "其思路是利用小数缩放,让 Wine 环境看起来像是在 winecfg 中用户指定的 DPI 运行,同时保持窗口清晰。这使用户能够在 Wine 下为每个显示器设置不同的小数缩放比例,而不会导致模糊。该行为与 XWayland 下一致,并且在多个显示器使用不同小数缩放比例时,实际效果优于 XWayland。"
相关代码已 合入并准备就绪。随着该驱动近期不断成熟,预计到 2027 年初的 Wine 12.0 版本,Wine Wayland 原生体验将非常出色。 Linux 7.2 新增限制程序仅打开常规文件功能,防止被欺骗或执行愚蠢操作 作为 Linux 7.2 众多 VFS 变更的一部分,新引入的 OPENAT2_REGULAR 标志已合入 openat2 系统调用。该标志可用于限制程序仅打开常规文件系统对象,避免意外或有意打开设备文件及其他非常规数据文件。 OPENAT2_REGULAR 可配合 Linux 7.2+ 使用,适用于只想与文件系统上常规文件交互、避免打开设备节点或其他特殊文件的用户空间程序。例如,网页浏览器或文本编辑器完全没有理由需要打开 /dev/zero 或 /dev/random 来获取无限数据流…… 这一特性对安全防护很有价值,可避免程序打开其不期望或无需交互的文件。 当为 openat2 设置 OPENAT2_REGULAR 标志后,任何非常规文件都将返回 "EFTYPE" 错误码。 这项实用的新增功能已作为 本次 VFS 拉取请求的一部分合入 Linux 7.2。同一拉取请求还为 openat/openat2 添加了 O_EMPTYPATH 标志,用于从 O_PATH 文件描述符获取可操作的文件描述符。