NetBSD 9.2“Nakatomi Socrates”已发布,这是 NetBSD 9 发布分支的第二次更新。它代表了自 2020 年 10 月 NetBSD 9.1 发布以来,由于安全或稳定性原因而被认为是重要的修正的子集,以及一些从开发分支回传的改进。它与 NetBSD 9.0 完全兼容。
NetBSD 是一个免费的、安全的及高度可移植的类 UNIX 操作系统,它适合于很多种平台,从 64 位的 AlphaServers 及桌面系统到手持及嵌入式系统。它在设计上非常整洁,并拥有先进的特性,这使得它在业界和学术界都有口皆碑。用户可通过完整的源代码来获得支持。很多应用程序都可容易地从 NetBSD Packages Collection 获得。
自 NetBSD 9.1 以来的更改如下:
Kernel
netinet:避免信息泄露, NetBSD-SA2021-001:IPv4 和 IPv6 中可预测的 ID 泄露
- netinet:修复了“multicast router 发送带有无效 UDP 校验和的 multicast packet”( PR 55779)
- xen:XSA-362 的修复-后端将授权映射错误视为 bug。恶意的 DomU 可能会触发 Dom0 内核崩溃。
- xen:删除了 xennet(4) 和 xvif(4) 中对 rx-flip 模式的支持,作为 XSA-362 修正的一部分(驱动程序已经默认为更快的 rx-copy 模式)。
- zfs:各种稳定性修复程序。修复了“在 NFS 提供的 ZFS 上创建目录时出现 panic”的问题。( PR 55042)
- coda:修复了“coda 客户端打开错误的文件而不是缓存容器”的问题。( PR 55775)
- hyperv:修复了“无法通过
hvn设备进行 ifconfig(8) up/down”的问题。
- msdosfs:修复了"BOOTSIG0 和 BOOTSIG1 检查阻止安装 Raspberry Pi Pico 的 USB 大容量存储器"( PR 55985)
- kern:修复了“在 init(8) 之前加载多个大型 firmware 文件时出现 panic”( PR 55906)
- fdescfs:修复了“fdescfs 创建的节点有错误的主编号”( PR 56130)
- procfs:更正了
environ节点的权限。
- usb:删除了中止路径中的不正确断言,并修复了
DIAGNOSTIC启用后的错误断言失败。
- sysctl(7):
kern.maxfiles默认值现在与系统内存成正比。避免在 hungry 应用程序(例如多进程 Mozilla Firefox)中耗尽资源。
- compat_netbsd32(8):对 AArch64 的各种改进:
- 添加了对 ARMv6 用户空间的支持。现在在 aarch64 服务器上的沙盒中构建 ARMv6 二进制软件包。
- 添加了对 ptrace(2) 的支持,修复了 clone(2),修复了 core 文件格式。
- 模拟 ARMv7 中不推荐使用的指令。
- compat_linux(8):修复了与使用长于有效的 struct sockaddr_in * 大小的 namelen 的程序的兼容性问题。
- threadpool(9): 修复了“
threadpool_job_cancelthrash测试随机失败”的问题(PR 55948)
Programs and services
calendar(1):将 Judaic 日历更新为 2021 年。
系统调用和库
设备驱动程序
- pwm_backlight:在用户设置时保存新的亮度水平,防止 Pinebook Pro 的显示亮度在 DPMS 空白后重新设置。
- ahcisata(4):各种一致性改进,在 Solidrun Honeycomb LX2K 上支持 SATA。
- audio(4):修复了某些硬件上首选环绕声格式的问题,改为首选立体声。
- audio(4):: 修复了资源泄漏和锁定问题。
- cd(4): 修复了“无法弹出以 sd(4) 连接的 USB 大容量存储器”的问题(PR 55986)
- ena(4): 修复了“被破坏的 ena
evcnts引起 panic”(PR 55942)
- hilkbd(4):修复了控制台附件中的一个 race condition。
- ......
Ports
- arm: 修复了“Raspberry Pi 4 上 usb_transfer_complete() 的 panic”( PR 55243)
- arm: sync-lock 和 atomic operations 的修复。
- mac68k:添加了
MAC68K_MEMSIZE内核选项来解决 Booter 报告大小错误的问题。
- mac68k:为 Quadra/Centris 650/800 修正 DJMEMCMAX。
- m68k: plugged 内核堆栈的内存泄漏。( PR 55990)
- sparc:从
GENERIC内核中删除DIAGNOSTIC选项。( PR 56077)
- x68k: 修复了 savecore(8)。( PR 51663)
- zaurus:使 LCD BrightnessUp 和 BrightnessDown 在 C7x0/860 上工作。
- 修复了在旧架构上的安装问题:
- alpha:切换回 .gz sets 以避免 xz extraction 内存耗尽。
- miniroot:针对阻止安装问题的各种修复程序,将缺少的设置添加到默认设置。
- hp300:删除了 INSTALL 和 RAMDISK 内核中的默认选项,这些选项会导致提取程序时间过长。
构建系统和工具链
- build.sh:从工具中删除了通用符号,以允许与较新的编译器进行交叉编译。
- build.sh:修复了从 MacOS 与最近的 Clang 交叉构建 NetBSD 的问题。
第三方组件
对 NetBSD 基本系统中的各种第三方组件进行了更新:
- openssl(1):更新至 1.1.1k
- tmux(1):更新到 3.1c
- Xorg(1):对以下内容应用了上游修复程序:
- xdpyinfo(1):修复了“重定向或管道上无
xdpyinfo输出”
- xterm(1):更新至 366
- freetype:更新至 2.10.4
- tzdata:更新至 2021a
- libX11: 修复了 X Input Method 中的 off by one。( PR 55640)
- xkb:为以下应用了上游修复程序:
- CVE-2020-14360 / ZDI-CAN-11572: XkbSetMap 越界访问
- CVE-2020-25712 / ZDI-CAN-11839: XkbSetDeviceInfo 基于堆的缓冲区溢出
获取 NetBSD 9.2:
更多详情可查看发布公告:http://netbsd.org/releases/formal-9/NetBSD-9.2.html