10 月 17 日消息,据官网消息,Theo de Raadt 昨日发布了类 Unix 操作系统 OpenBSD 7.4 版本,这是 OpenBSD 的第 55 个版本更新。
整理主要内容如下:
-
内核改进:
-
arm64 架构上,dmesg (8) 中显示 BTI 和 SBSS 特性。
-
引入新的 kqueue1 (2) 系统调用,支持 O_CLOEXEC 标志。
-
在设备树上添加读写映射,以修复 softraid (4) 上的根分区。
-
正确识别 umass (4) 软盘设备为软盘驱动器。
-
在 wscons (4) 中更新框线字符,以适应 unicode 标准。
-
修复在使用 MS-DOS 文件系统时的未定义行为。
-
在 arm64 架构上使用深度空闲状态来节省能源。
-
更新 AMD CPU 支持。
-
解决 ‘Zenbleed’ AMD CPU 错误的问题。
-
在 dmesg (8) CPU 行中报告推测控制位。
-
优化主 CPU 的时钟中断准备,分离 cpu_initclocks () 的初始化部分。
-
SMP 改进:
-
重写 pfsync (4),改进锁定和并行化网络堆栈。
-
移除 ARP 输入路径的内核锁定。
-
将 MP 安全的 arprequest () 从内核锁中分离出来。
-
移除 IPv6 邻居发现中的内核锁。
-
解锁网络堆栈中 ioctl (2) 和路由代码的更多部分。
-
直接渲染管理器和图形驱动程序改进:
-
更新 drm (4) 到 Linux 6.1.55。
-
修复 sg_set_page () 中的 end marker,以避免在 Alder Lake 和 Raptor Lake 上使用页面翻转时的内存访问错误。
-
VMM / VMD 改进:
-
允许 vmm (4) 客户端启用和使用 IBT。
-
隐藏 AMD 硬件 p 状态对 vmm (4) 客户端的可见性。
-
修复 vmd (8) 中的未初始化内存问题。
-
允许 vmd_vm.vm_ttyname 以字符数组的方式传递,允许通过 ipc 通道传递 vmd_vm 对象。
-
改善 vmd (8) vmm 进程中文件描述符的关闭。
-
针对用户空间(userland)的 bug 修正和调整:
-
引入新的 ISO C11 头文件 <uchar.h>,声明 char32_t 和 char16_t 类型以及相关函数。
-
支持使用 ktrace (1) 和 kdump (1) 进行内存泄漏检测的 malloc (3) 选项 D。
-
允许在 make (1) 中使用 ${.VARIABLES},列出已设置的全局变量名称。
-
新的 kdump (1) 选项-u,以选择 utrace (2) 跟踪点。
-
在 openrsync (1) 中支持–size-only 和–ignore-times 选项。
-
更新 zoneinfo 到 tzdata2023c。
-
将 ucom (4) 的固定名称格式作为 cu (1) -l 选项的有效格式。
-
各种错误修复和用户空间调整。
-
网络堆栈改进:
-
同步 ARP 和 ND 中的 getuptime (9) 的使用。
-
实现新的 sysctl (2) net.inet6.icmp6.nd6_queued,显示等待 ND6 响应的数据包数量。
-
支持 TCP 分段卸载(TSO)和 TCP 大接收卸载(LRO)。
-
PF 防火墙改进:
-
优化 DIOCGETRULE 请求,以在 pfctl (8) 从内核中获取 pf (4) 规则时提高性能。
-
放宽 pass all 规则的实现,以允许各种邻居广告。
-
修复当本地生成的 IP 数据包重定向到用户空间时,由于硬件卸载而没有校验和的问题。
-
安全性改进:
-
包括 IBT、BTI 和 PAC 的支持,以增强控制流完整性。
-
内存分配改进:
-
关闭 shutdown (8) 程序,只允许_shutdown 组的成员执行,以减少操作员组的权限。
-
使用 unveil (2) 限制 patch (1) 的文件系统访问。
-
网络堆栈中的多项更改,包括 TSO 和 LRO 的支持。
-
新的 pf (4) 防火墙特性和性能改进。
-
安全增强:
-
如 IBT、BTI 和 PAC 的启用,以提高控制流完整性。
参考
-
OpenBSD 7.4
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,所有文章均包含本声明。