Linux 是一个类似于 Unix 内核的大部分自由内核,它是自由和开源软件的主要例子之一。
经过两个月的开发, Linus Torvalds 宣布发布 Linux Kernel 6.2, 其中最显着的变化包括 Copyleft-Next 许可代码、改进 Btrfs 中的 RAID5/6 实现、继续集成 Rust 语言支持、减少 Retbleed 保护开销、增加内存重写限制以及添加了 TCP 机制。PLB(保护性负载平衡) 已添加。
新版本收到来自 16843 名开发者的 2178 个修复, 补丁大小为 62 MB(更改影响了 14108 个文件,添加了 730195 行代码,删除了 409485 行)。 42 中引入的所有更改中约有 6.2% 与设备驱动程序相关,约 16% 的更改与更新特定于硬件架构的代码有关。
Linux 6.2中的主要新闻
在这个新版本中 Copyleft-Next 0.3.1 许可证允许包括所提供的代码和更改。 Copyleft-Next 许可证由 GPLv3 贡献者之一创建,并与 GPLv2 许可证完全兼容,经 SUSE 和 Red Hat 律师验证。 与GPLv2相比,Copyleft-Next许可证更加简洁易懂(删除了介绍部分和已弃用承诺的提及),确定了删除违规的时间和程序,自动删除了过时的copyleft要求,更超过 15 年。
另一个引人注目的变化是 包含“rv”实用程序,它提供了一个接口,用于从用户空间与 RV 子系统的处理程序进行交互 (运行时验证)。验证是在运行时通过将控制器附加到跟踪点来执行的,跟踪点根据定义系统预期行为的默认参考确定性自动机模型验证执行的实际进度。
添加了用于 I/O 内存管理单元(Memory Management Unit)用户空间管理的“iommufd”API。 新的 API 允许您使用文件描述符管理 I/O 内存页表。
对于锁定机制 RCU (读取-复制-更新), 实现了可选的回调机制 其中计时器以批处理模式一次处理多个返回调用。 应用建议的优化后,您可以通过在空闲或低系统负载期间推迟 RCU 请求,将 Android 和 ChromeOS 设备的功耗降低 5-10%。
添加了一个新选项 内核命令行 “trace_trigger”触发跟踪触发器 用于绑定触发堆栈跟踪时调用的条件命令(例如,trace_trigger=”sched_switch.stacktrace if prev_state == 2”)。
另一个引人注目的变化是 一个附加功能的端口已经从 Rust-for-Linux 分支开始 与使用 Rust 作为开发驱动程序和内核模块的第二语言有关。 默认情况下禁用 Rust 支持 并且不会导致 Rust 被包含为必需的内核构建依赖项。 最新版本中提供的基本功能通过支持低级代码的特性进行了扩展,例如 Vec 类型和 pr_debug!()、pr_cont!() 和 pr_alert!() 宏,以及“#[vtable ]”宏。»,过程宏,它简化了函数指针表的工作。 预计在未来的版本中将添加内核子系统之上的高级 Rust 包装器,使您能够在 Rust 中构建完整的驱动程序。
除此之外,还要强调的是 实施了一种新方法来防止 Intel 和 AMD CPU 中的 Retbleed 漏洞 使用调用深度跟踪,它不像上面的 Retbleed 保护那么慢。 为了启用新模式,提出了内核命令行参数“retbleed=stuff”。
En 该平台 ARM64, 在启动阶段, 可以启用和禁用 Shadow Stack 机制的软件实现, 它用于防止在堆栈缓冲区溢出的情况下覆盖函数的返回地址(保护的要点是在将控制权传递给函数并恢复函数退出前给定的地址后将返回地址保存在单独的堆栈中).
在其他突出的变化中:
- 对于 IPv6,增加了对 PLB(保护性负载平衡)的支持,通过更改 IPv6 流标签,PLB 随机更改数据包路由以平衡交换机端口之间的负载。
- 添加了对 800 GB 链路的支持。
- 添加了动态重命名网络接口的功能,无需停止工作。
- 在写入日志的 SYN 泛洪消息中添加了对数据包到达的 IP 地址的提及。
- 对于 UDP,实现了为不同的网络名称空间使用单独的哈希表的能力。
- 网桥支持MAB(MAC Authentication Bypass)认证方式。
- i915 (Intel) 驱动程序稳定了对 Intel Arc (DG2/Alchemist) 独立显卡的支持,并改进了对 Meteor Lake GPU 的支持。
- Nouveau驱动支持基于Ampere架构的NVIDIA GA102(RTX 30)GPU。 对于 nva3 (GT215) 卡,已添加控制背光的功能。
最后,如果你有兴趣了解更多,可以咨询详情 在下面的链接中。
成为第一个发表评论