Linux 6.10 对游戏、支持和蓝屏死机进行了改进

Tux,Linux 内核的吉祥物

新版本 Linux内核6.10发布 几天前,在该项目启动时,介绍了一些非常有趣的进展,例如 ntsync驱动集成 与 Windows NT 同步原语,以及 添加 DRM Panic 组件, 其行为方式与“蓝屏死机”类似。

已停产 支持较旧的 Alpha CPUs,验证基于 FUSE 的文件系统完整性的能力, 使用 Landlock 机制限制对 ioctl 的访问,以及一个新的子系统来分析内存分配操作等。

从数量来看,该版本有 14,564 名开发人员贡献的 1,989 个修复,补丁大小为 41 MB,影响 12,509 个文件。添加了 547,663 行代码,删除了 312,464 行代码。相比之下,之前的版本包含来自 15,680 名开发人员的 2,106 个修复和 54 MB 的补丁。

Linux 6.10 有什么新功能?

Linux 6.10 引入的主要新功能中, 新的 fcntl 操作,F_DUPFD_QUERY, 这使得 进程识别两个不同的文件描述符是否指向同一个文件,提供 kcmp() 的替代方案,而不会暴露不必要的信息,并且即使在禁用 kcmp() 时也能工作。

La FUSE 中的完整性检查 是另一个新功能,有了它,FUSE 现在可以使用 fs-verity 机制 验证文件的完整性和真实性。还添加了一个 基于netlink的新协议, 方便了内核中NFS服务器的管理。在用户空间中,已开发 nfsdctl 实用程序来使用此协议。

除此之外,还有一个 ntsync 驱动程序的初始版本,其中介绍了 /dev/ntsync 字符设备和 Windows NT 内核中使用的一组同步原语。这一进展 可以显着提高通过Wine运行的Windows游戏的性能, 通过消除用户空间中 RPC 的开销。

已经介绍过 用于分析内存分配操作的新子系统 在Linux内核中。该子系统有助于检测内存泄漏并优化内存使用,并且开销较低,使其可以在生产系统中使用,而不仅仅是调试版本。

已开发出一种 内核紧急驱动程序的初步实现, 数字版权管理恐慌。该驱动程序使用 DRM 子系统来显示可视化报告 颜色类似于“死亡蓝屏”。 在未来的版本中,将添加在紧急情况下显示徽标和二维码的功能。

此外, 已提出 init_mlocked_on_free 选项 对于启动阶段的配置,此选项可确保在未解锁的情况下释放受 mlock() 保护的内存,从而防止在应用程序突然终止时加密密钥保留在内存中。

引入的其他更改和改进 在此版本中:

  • 支持 x32 子架构中的影子堆栈机制,该机制通过使用 Intel 处理器的硬件功能来阻止许多漏洞利用,以防止缓冲区溢出中的返回地址覆盖。
  • 引入 mseal 系统调用是为了允许进程阻止对其地址空间的某些部分进行更改。
  • Rust 继续作为第二语言被集成,用于开发驱动程序和内核模块。尽管默认情况下未启用 Rust 支持,但 Rust 版本 1.78 允许您使用标准分配库。
  • dm-crypt 模块可以选择使用高优先级工作队列,从而提高高性能服务器的性能。
  • Btrfs 中的优化:支持减少未固定的范围映射,对于减少 RAM 较低的系统上的内存消耗很有用。
  • Landlock LSM 模块:该模块允许限制某些进程与外部环境的交互,并具有对 ioctl() 调用的访问施加限制的功能。
  • Ext4:添加了 FS_IOC_GETFSSYSFSPATH ioctl 以确定 /sys/fs 层次结构中已安装文件系统的位置。
  • Bcachefs 已准备好在不卸载分区的情况下运行 fsck,从而提高了其可靠性。
  • 第十代 Mali GPU 已包含 Panthor 驱动程序,该驱动程序使用 CSF 技术来减轻 CPU 的负载并改善 GPU 的工作。
  • Intel Arc、新 Intel Arc 独立显卡的 PCI ID 已添加到 i915 驱动程序中。
  • Xe DRM 驱动程序:基于 Intel Xe 架构的 GPU 的 Xe DRM 驱动程序的工作仍在继续,增加了对 Arrow Lake H CPU 的支持以及对 SR-IOV 机制的初步支持。
  • AMDGPU 驱动程序现在支持 RISC-V 架构系统上的 SMU 14.0 和新的 AMD GPU。

最后,如果您有兴趣能够了解更多,可以在 以下链接。新版本的内核现已在大多数发行版的官方渠道以及 kernel.org.