今天的 Linux 内核圈,值得花 3 分钟看两件事:Linux 7.2 进入 rc7 冲刺期,和 virtio 设备自有内存机制(VIRTIO_F_DMB)浮出水面

封面 · 8月10日 · Linux 7.2 rc7 + virtio 设备自有内存

🎬 今日导读

/ section
头条 Linux 7.2 进入 rc7,发布进入冲刺;7.1.8/6.18.44/6.12.103/6.6.151 四线 stable 同发
头条 virtio 设备自有内存机制 RFC——设备自己拥有 virtqueue 内存
机制 net fwnode PCS——PCS 驱动走向固件节点描述
机制 mm/swap 休眠槽位独立治理
亮点 SpacemiT K3 RISC-V 显示栈落地(17 补丁)
亮点 Landlock 新增 NO_NEW_PRIVS 沙箱原语

💡 今日头条

/ section

Linux 7.2 进入 rc7,发布进入最后冲刺

〔08-10 06:08 北京〕· Linux 7.2-rc7(Linus Torvalds)

现状 Linux 走「merge window + rc 候选版」周期:新功能在 merge window 合入,之后每周发一个 rc(release candidate,候选版),到 rc7 已接近收尾。
痛点 rc 期是回归高发段,阻塞性 bug 要在这个窗口内收口,否则整个发布拖后一周。
方案 Linus 发布 7.2-rc7;同期 7.1.8 / 6.18.44 / 6.12.103 / 6.6.151 四条 stable 分支批量更新。
为什么 rc7 说明主线功能已冻结、只剩修复,距离 7.2.0 正式发布约 1-2 周。
效益 生产环境拿到新稳定分支的修复;下一波 LTS 更新节奏可预期。
下一步 关注 rc8 或 7.2.0 final;stable 更新是修复向长期分支回植的信号。
一句话点评 版本节奏是内核的脉搏——rc7 一出,新特性窗口正式关闭。

virtio 设备自有内存机制 RFC:让设备拥有自己的 virtqueue 内存

〔08-10 02:20 北京〕· [RFC PATCH 00/12] virtio: support devices that own their virtqueue memory

现状 传统 virtio 里,virtqueue(虚拟队列,guest 与设备交换请求/响应的环形缓冲)的内存由驱动分配,设备只能被动访问。
痛点 高性能网卡/加速器希望队列内存由设备侧管理,但 virtio_ring 对「驱动分配→映射给设备」的路径缺乏验证,内存生命周期双方各管一截。
方案 新增 VIRTIO_F_DMB 特性位 + 设备内存缓冲(DMB):设备通过共享内存暴露内存区,virtio_pci 读映射 token、virtio_ring 校验 premapped 地址,附设备内存区分配器;vdpa 同步对齐。
为什么 把「队列内存归谁管」从实现细节升级为协议特性——设备自持内存能省去一层间接、对缓冲生命周期完全可控。
效益 虚拟设备(网络/存储加速)少一次拷贝、少一段协调代码;vDPA 获得一致的能力面。
下一步 RFC 讨论中(Michael S. Tsirkin 已逐条回复);落地需 virtio spec 演进与内核实现并行。
一句话点评 虚拟化队列内存的「所有权」第一次被显式建模——设备更聪明,驱动更省事。

📰 net

/ column

X-Powers AC200/AC300 嵌入式以太网 PHY 驱动落地

〔08-10 04:29 北京〕· [PATCH net-next v5 0/5] net: phy: add X-Powers AC200/AC300 EPHY support

定位 net 的 PHY 层——AC200/AC300 是 SoC 内集成的小型以太网物理层(EPHY),这套系列从 dt-bindings 到驱动把它接入主线。
做法 v5 含 EPHY 驱动、mfd syscon 外部 regmap 注册、dt-bindings 五件套。
效益 相关嵌入式 SoC 板级开箱即有以太网,PHY 驱动生态又补一块。
和你相关 嵌入式网络底层的常规推进,做 SoC 板级/网络可参考 PHY 驱动写法。

更多动态

ovpn 修 key slot 并发与 NULL 解引用(4 补丁 pull request) 〔08-10 05:21〕

hsr 修 GRO 超包导致的丢包(v6,4 补丁) 〔08-09 20:14〕

mana 加固 HW channel 可靠性(v5,7 补丁) 〔08-10 03:01〕

sctp 修缓存 ASCONF chunk 的 use-after-free 〔08-09 12:38〕

mxl862xx DSA 驱动加 devlink flash/rescue(v10,5 补丁) 〔08-10 01:06〕

📰 DRM

/ column

RISC-V SoC SpacemiT K3 显示栈落地(17 补丁)

〔08-09 21:15 北京〕· [PATCH v2 00/17] drm/spacemit: add SpacemiT K3 display support

定位 SpacemiT K3 是 RISC-V SoC;这套系列从零搭它的显示栈——Saturn DPU(显示处理单元)KMS pipeline + Innosilicon DP/eDP 控制器 bridge + DP TX PHY + RISC-V dts 使能。
做法 17 补丁覆盖 DPU 寄存器模型/核心类型/显示 MMU/KMS pipeline、DP 控制器 bridge 驱动、PHY、clk、dt-bindings、defconfig。
效益 RISC-V 设备拿到完整显示输出能力,社区 SoC 显示栈又多一个完整范例。
和你相关 新 SoC 显示栈的完整骨架——DPU + bridge + PHY 三件套怎么配,照这套抄。

vmwgfx 连续加固:校验用户态传入的 pitch 与命令边界

〔08-10 04:45 北京〕· drm/vmwgfx: validate pitch coming from userspace

定位 vmwgfx(VMware 虚拟显卡)驱动最近密集收到「用户态传参越界」类安全问题,属 KMS 命令解析层的输入校验。
做法 校验用户态传入的 pitch(行距)合法性,并拒绝小于 body+suffix 的 SURFACE_DMA 命令。
效益 堵住一批可被恶意 guest 触发的内存访问越界。
和你相关 虚拟化显卡的防御性修复,安全视角值得扫一眼。

更多动态

Exynos DSIM bridge 修 PLL 稳定等待(v5,3 补丁) 〔08-09 16:56〕

rcar-du dsi 用 AXI 内存访问实现 DSI 命令发送 〔08-10 03:58〕

Pixel 3 显示修复(lg-sw43408 面板 reset/亮度,2 补丁) 〔08-09 08:04〕

i915/gem 修 active_engine() 的 request use-after-free 〔08-10 01:37〕

amdgpu ACA/RAS 加固 v5(4 补丁) 〔08-09 22:46〕

📰 mm

/ column

mm/swap 把休眠槽位移出 swap cache,独立管理

〔08-09 22:46 北京〕· [PATCH v2 0/4] mm, swap: keep hibernation swap slots out of the swap cache

定位 mm 的 swap 层——休眠(hibernation)镜像占用的 swap 槽位,当前仍被 swap cache 管理,存在被误回收/误复用的风险。
做法 v2 给休眠槽位独立 swap 表项类型,禁止其进 swap cache;只允许已换出的槽位进 cache;释放前先查 cache。
效益 休眠镜像数据更安全,swap 复用逻辑不再误伤休眠槽位。
和你相关 内存 + 电源管理交界,休眠稳定性相关。

匿名大页 swap 的 split 逻辑重构(RFC 13 补丁)

〔08-09 10:49 北京〕· [PATCH RFC 13/13] mm/huge_memory: count only swap cache refs in anon folio split

定位 mm/huge_memory 的 folio split(拆大页)路径——把 unmap/remap、anon_vma、memcg 切换等收进 split helper。
做法 重构 split 过程;允许拆分无映射的 swap cache folio;计数只算 swap cache 引用。
效益 大页 swap 进出路径更干净,拆页场景少踩引用数错位。
和你相关 大内存/虚拟化场景的 swap 行为相关。

📰 LSM

/ column

Landlock 新增 NO_NEW_PRIVS 沙箱原语

〔08-09 23:45 北京〕· [PATCH v4 0/5] Implement LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS

定位 LSM 的 Landlock 无特权沙箱——restrict_self() 时要求「不再获得新特权」,对照 setuid 场景的 NO_NEW_PRIVS 语义。
做法 新增 LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS 标志,先校验 flags 再处理权限;附文档、样例与 selftests。
效益 沙箱语义更接近「可叠加、不可逃逸」,受限进程提权面收得更紧。
和你相关 安全沙箱方向,容器/受限执行环境可关注。

AppArmor 修 verify_tags() 整数溢出越界

〔08-09 22:29 北京〕· [PATCH] apparmor: fix integer overflow in verify_tags() bounds check

定位 AppArmor 策略解析层 verify_tags() 的边界检查用 32 位整数,大输入可溢出绕过。
做法 修正溢出,用正确类型比较边界。
效益 堵住一条策略解析的越界路径。
和你相关 安全策略解析的经典溢出问题。

📌 机制雷达:6 条跨域大改动

/ section
net fwnode PCS v12 PCS 驱动固件化(fwnode 描述 + phylink 内部 PCS 重构),新 SoC 不用重造 · 原文
mm swap 休眠槽位 v2 槽位类型独立,防休眠镜像被 swap cache 误回收 · 原文
BPF tracing_multi link 一次 link 挂多个 fentry 程序,trace 挂载从单点走向批量 · 原文
drm 等待超时 helper 统一 drm_timeout_rel_to_jiffies() 收编各驱动的等待超时换算 · 原文
Rust pin-init 进 7.3 自引用对象初始化范式被拉入 7.3(GIT PULL)· 原文
sched/cache migrate_llc_task 活跃负载均衡尊重任务的迁移偏好语义(v2)· 原文

📖 本期概念速查

/ section
rc / release candidate 候选版,正式发布前的冻结版;rcN 数字越大越接近最终版
virtqueue 虚拟队列,virtio 里 guest 与设备交换请求/响应的环形缓冲
DMB / 设备内存缓冲 由设备自己拥有并暴露给驱动的内存区(新 VIRTIO_F_DMB 特性位)
fwnode 固件节点,devicetree / ACPI 通用描述;驱动用它找硬件配置
PCS 物理编码子层,PHY 与 MAC 之间的编解码芯片
hibernation / 休眠 把内存镜像写入 swap 后断电,恢复时读回
Landlock 内核无特权沙箱,普通进程用它限制自身对文件/网络的访问
DPU 显示处理单元,负责把帧缓冲合成/输出到面板的硬件块

如果对你有用,点个赞,或留言聊聊你最关心的。

数据来源:lore.kernel.org(全内核 13 列表)· 数据截至 08-10 06:48 北京