本周两条主线:一场意外泄露的安全事件——ZDI 把六个未修补的内核 0day 发到了公开邮件列表,社区当天就接力出了修复; 以及 7.4 合并窗口的收尾——KMS 的 connector reset 钩子被彻底移除, Landlock 一次长出了 namespace 和 capability 两个新维度。

封面 · 10月25日 · 每周全局雷达

📊 板块热度

/ column
板块热度条形图 · 本周累计(10-19~10-25,完整 7 天)

本周 7 天数据齐全(10-19~10-25):net 3567 · DRM 1747 · mm 1554 · fs 795 · media 690 · PCI 669 · LSM 479 · Rust 274 · block 271 · rt 183 · arch 164 · virtio 4。 周环比看,LSM 日均从 37.0 涨到 68.4(+85%)是唯一显著变化—— 对应下面 Landlock 与 namespace hook 的落地;其余板块多在 ±10% 内浮动。

🔐 本周头条:ZDI 误发六个未修补 0day

/ column

ZDI(Zero Day Initiative)把六个尚未修补的内核漏洞报告误发到了 netdev / LKML 等公开列表。这本身是个流程事故,但它逼出了一场罕见的公开协作: 社区在漏洞细节已经泄露的情况下,当天就接力写出了修复。

其中危害最大的是 skb_zerocopy 的页缓存写穿(ZDI-CAN-33367): 它在共享 packet data 时没有把 SKBFL_SHARED_FRAG 标记传给目标 skb, 于是 ESP 解密路径会把 splice(2) 进来的只读文件页就地改写—— 等价于本地未授权用户写任意只读文件,进而拿 root。

修复只有一行(把 shared-frag 标志补传),但它揭示的是 skb 共享语义在多层转发路径上的系统性漏洞。 Eric Dumazet 已 Reviewed-by 并 Cc: stable;AlmaLinux 抢先 backport 到 8/9/10 测试仓库。 原文

📰 显示 / DRM

/ column
connector reset 被彻底移除(v2,59 补丁) 本周最热线程。把 connector->reset 从框架里整体删掉:i915/amdgpu/nouveau/tegra/vc4/vkms/ast/gud/meson/sun4i/tiny 系全部改走 atomic_create_state,最后两封删除 __drm_atomic_helper_connector_reset() 与 drm_atomic_helper_connector_reset()。这是继 plane/crtc 之后 KMS 状态创建路径的最后一块统一。原文
新增 DRM_MODE_ATOMIC_RESET(v6,15 补丁) 与上一条同源:允许 userspace 用一次 commit 把整棵状态树重置为驱动默认值。配套加了 drm_atomic_commit_fill_with_defaults()。对 compositor 会话恢复、「显示状态一键归零」是直接受益方。原文
amdgpu SVM 落地通用 GPU SVM 框架(v10,22 补丁) Danilo Krummrich 的 drm_gpusvm 迎来首个大客户:amdgpu 基于它实现完整 SVM——UAPI、range 属性树、notifier/GC、fault handler,以及基于 drm_pagemap 的 VRAM migration。Phase 1 限定单 GPU + XNACK on,是多 GPU SVM 的前哨。原文
drm/xe:把 wedged 设备与硬件访问彻底隔离(RFC v3,17 补丁) GPU 卡死后,从 IRQ、TTM(拒绝 wedged 设备的 VRAM 分配)、GGTT、VM work 等路径全面切断硬件访问;开头先给 drm core 导出 drm_dev_srcu_synchronize() 作为设备 I/O 门。

📰 网络

/ column
skb_zerocopy 共享页标记修复(见头条) 一行修复,但揭示了多层转发路径上的系统性共享语义漏洞。Eric Dumazet 已 Reviewed-by。
Networking for 7.4 已合入 Paolo Abeni 的 7.4 网络整批拉取已在 10-23 进主线(merge 734bef548a96)。值得注意的流程信号:Phoronix 直接点出「AI 辅助贡献让单批 PR 体量持续膨胀」,这是 netdev 维护者公开讨论的评分制审查压力。报道
netdev_ops 赋值点统一前移(00/10) v7.3-rc1 引入 CONFIG_NET_SHAPER 时埋的雷:netdev_need_ops_lock() 会读 dev->netdev_ops->net_shaper_ops,但很多老驱动在 probe 早期还没赋值 → NULL 解引用。10 个补丁统一把赋值点前移。

📰 内存管理

/ column
MGLRU-FG:给多代 LRU 加「频率导引提升」(RFC v3,00/17) Kairui Song 接棒 Yu Zhao 的这条线。把 PG_referenced/PG_workingset 吸进 3-bit 的 per-folio 引用计数,在访问路径上就完成晋升,还顺手释放一个 page flag。LevelDB GET/SCAN +41%、MongoDB YCSB +16.8%、zRAM 工作集最多 +76%。原文
arm64 异常入口大改:overflow stack 进 SP_EL1(v2,00/21) Will Deacon 在 LPC 2026「Reducing kernel stack memory」的代码落地。让 SP_EL0 指向 overflow stack、SP_EL1 指向内核栈,借 SPSel 在异常入口直接切换——后续可把内核栈做薄,不再为每个 task 预留超额空间。全球 DRAM 缺货的大背景下,这题突然变得重要。
NFSD 直写不再回读共享页(v9,00/6) mm / iomap / NFSD 三处联动,消除 uncached write 的共享页回读。

📰 安全 / LSM

/ column
namespace LSM hook 合入(v7.4 窗口) 新增 namespace_init/namespace_free/namespace_install 三个 hook,给 ns_common 加安全 blob,新增 LSM_AUDIT_DATA_NS。此前 LSM 没有 namespace 生命周期这一层,现在所有 LSM(Landlock、SELinux、BPF LSM)都有了新策略面。合并 commit a804c5742bff(10-20)。
Landlock 扩展到 namespace + capability(ABI 12) 接上一条,成为首个 in-tree 消费者:新增 LANDLOCK_RULE_NAMESPACE / LANDLOCK_RULE_CAPABILITY,namespace 侧覆盖 unshare/clone/clone3/setns/open_tree/fsmount,capability 侧限制进程已有 capability 的使用。Landlock 从「文件/网络沙箱」变成「privilege/namespace 沙箱」,59 文件、6437 行插入。合并 commit 3815f7d55ae1(10-22)。原文
landlock:规则可覆盖「未来创建」的文件(RFC 00/3) 把访问权延伸到 inode_init_security 路径,让规则能约束之后才创建的对象。

📰 媒体 / 相机

/ column
CAMSS:VFE 从 RDI-based 转向 Output-based API(74 补丁 RFC) 在 struct vfe_hw_ops 里新增 vfe_output_start/stop/buf_done/update,把「VFE 输出」从单例 write-master 提升为一等 struct vfe_output,允许一个 output group 挂多个 write-master。SM8650 的 PIX 接口要同时支持 YUV + Stats + Params,必须有这层抽象。是观察 vendor 与社区磨合的好样本。
videobuf2:dmabuf 导出补上 producer fence(RFC 00/3) 新增 release_fence 到 struct vb2_buffer,让 V4L2 驱动作为 dmabuf producer 在 VB2_BUF_STATE_DONE 时 signal exclusive fence。补齐了「Wayland compositor 拿到 V4L2 导出的 dmabuf 只能看到 stub fence」这个长期缺口;隐式 vs 显式 fencing 的路线之争仍在进行。
CVE-2026-68205 批量下沉 v4l2_async_register_subdev_sensor() 是宏,展开位置在 v4l2-fwnode.c,导致 THIS_MODULE 解析错 → sd->owner 被覆盖、sensor 模块引用计数不增 → 仍被持有时可 rmmod → UAF。本周经 Oracle ELSA 与 stable 6.18.51 / 5.15.217 批量回移植。写 v4l2 子设备驱动的人都会踩这个「宏 + THIS_MODULE」陷阱。
ipu-bridge / IPU7 传感器使能密集落地 Dell XPS 13 Plus IR 摄像头(OV01A1B)、Surface Pro 11 后摄 upside-down quirk、ThinkPad X1 Carbon Gen 14 的 ST VD55G1 on IPU7——Intel 笔记本摄像头正在批量进入「开箱即用」。

📰 文件系统 / 块层

/ column
zram 压缩后端重构(v7,00/15) 把读(解压)与写(压缩)上下文从每 CPU 的 stream 里拆开,解决可抢占内核下的优先级反转。数据很硬:独占 zstd 读 IOPS 391k→1064k,最大读延迟 3.2 s→5.9 ms。影响全部 7 种压缩后端。原文
blk-mq:hctx cpumask 为空时派发到 housekeeping CPU(v4) a46c27026da1 把 isolated CPU 从 hctx cpumask 摘除后,空 cpumask 返回 WORK_CPU_UNBOUND,kblockd 仍可能落到隔离 CPU 上被 SCHED_FIFO 任务饿死。Ming Lei 质疑问题本质在 schedule_work(),线程未收敛。
fs:让等 s_umount 的系统调用可被杀死(00/5) super_lock 重构 + 把等待 mount 锁的系统调用变成 killable,缓解「NFS 卡死时进程杀不掉」。
proc:阻止挂载 /proc/<pid>/net 与 /proc/self 下的链接(00/7) 堵住一条通过 procfs 链接绕过命名空间限制的路径。

📰 PCI / 架构 / Rust / virtio / RT

/ column
PCI liveupdate:保留设备跨 Live Update 仍可访问(00/10) 基座系列只允许 preserved device 继续 DMA,但下一个内核仍会 sizing/probing BAR、甚至重分配桥窗口。本系列逐一关掉 BAR sizing、bridge window probing、资源分配/释放与 INTx 使能。自述目标 Linux 7.6(可行则 7.5)。LWN
PCI 资源放置算法修复(v4,00/7) 不再为单个特例打补丁,而是让放置算法「尽量少阻塞空闲区间」,同时考虑对齐与剩余空间连续性。改动 setup-res.c 约 223 行。
arch:UUID/GUID 作 uid/gid 的 *_r 系统调用(RFC 00/41) 把 kuid_t/kgid_t 改成 tagged union,新增 20 字节的 __kernel_uid_r_t。反对声很强:Lionel Cons 类比 Windows SID 并警告 128 位哈希碰撞,Ted Ts'o 直称 non-starter。原文
Rust:VFIO PCI 支持 + NVIDIA vGPU 驱动(v2,00/12) 把 Rust PCI 从「能 probe 一个设备」推进到「能实现完整 VFIO variant driver」:reset/AER/runtime-PM 全部下沉到共享适配器,用真实 vGPU 驱动验证。Rust 驱动跨 PCI/VFIO/DRM 三子系统协作的样板。
virtio:vhost CPR 与 VHOST_RESET_OWNER 合入(10-24) 新增 checkpoint-restore 支持,重划 device reset 与 callback 的同步契约;virtio_pci 在 reset 后 synchronize_cbs、AVQ cleanup 从 reset 移到 del_vqs。guest checkpoint/restore 期间 AF_VSOCK 连接不丢。
RT:提议拆掉 RT throttling 那套老旋钮(RFC) 旧 throttler 在 PREEMPT_RT 上会把驱动线程(同样是 SCHED_FIFO)一起节流,导致 SSH/网络/USB 停摆。v6.12 已把默认带宽控制藏到 CONFIG_RT_GROUP_SCHED 后面,v7.2 更把默认 runtime 改成 no-op。现在提议直接删除 /proc/sys/kernel/sched_rt_* 与 CONFIG_RT_GROUP_SCHED,Tejun Heo 明确不反对。原文

📚 LWN 本周

/ column

The first part of the 7.4 merge window · Seeking smaller kernel stacks · The end of __get_user() and __put_user() · Hash-based module integrity for reproducible distributions · Discussing a rewrite of XArray · Development statistics for the 7.3 kernel · Cross-crate forward declarations in Rust

🧭 合入状态

/ column
已合入 mainline LSM namespace hooks(a804c5742bff,10-20)· Landlock ABI 12(3815f7d55ae1,10-22)· networking 7.4 整批(734bef548a96,10-22)· vhost/virtio CPR(9f2516f45b7c,10-24,本地镜像 HEAD 为 10-23,尚未同步)
在 linux-next 排队 本周主要系列(connector reset v2、MGLRU-FG、P2PDMA、CAMSS output-based)均未进 next —— 多为本周新发,属正常滞后。
稳定版回移植 CVE-2026-68205(v4l2-fwnode owner 覆盖)已进 stable 6.18.51 / 5.15.217 及 Oracle ELSA-2026-500385/395/398。如果你维护带 sensor 驱动的 BSP,值得核对是否带上这个 fix。

⚙️ 机制雷达

/ column
KMS 状态创建路径完成统一 connector reset 删除后,plane/crtc/connector 三类对象的「创建初始状态」全部走 atomic_create_state(可失败、无副作用)。树外的 connector 驱动必须跟着改。
LSM 拿到 namespace 生命周期 三个新 hook + ns_common 安全 blob,让 LSM 第一次能在 namespace 创建/安装/释放时做策略判断。Landlock 是首个消费者,SELinux 预计下个窗口跟进。
IO 与内存的边界在重划 本周三条指向同一处:NFSD 直写不回读共享页、dma-buf 补 producer fence、CAMSS 把 VFE 输出提升为一等对象。「谁拥有这块缓冲区、谁能动它」正在被逐层重新定义。
AI 贡献开始改变审查流程 net 7.4 单批 PR 体量持续膨胀,维护者公开讨论评分制审查。这不是技术变更,但它会影响「什么补丁能被看见」。

📰 与你方向的交叉点

/ column
C-PHY / CAMSS 继续推进 CAMSS 的 VFE output-based 重构 + 上周的 C-PHY 系列,是 Qualcomm 开放 ISP 驱动的一条连续演进线。
v4l2-async 的宏陷阱(CVE-2026-68205) 如果你写 sensor 驱动、且用 v4l2_async_register_subdev_sensor(),务必确认 BSP 里带上了这个修复——owner 被覆盖会导致模块可被提前 rmmod,进而 UAF。
dma-buf 同步模型的补课 V4L2 导出 dmabuf 终于能带真正的 producer fence。做 camera → display 直通链路时,这条会影响你能否在 capture 完成前正确等待。
DRM connector 生命周期 如果你碰 panel/bridge/connector 驱动,reset 钩子正在被删——迁到 atomic_create_state。

📖 本期概念速查

/ section
atomic_create_state DRM connector 的新状态创建钩子:可失败、无副作用,取代一钩两用且不能失败的 reset。
MGLRU-FG 多代 LRU 的「频率导引提升」:把引用位压成 per-folio 计数,访问时就晋升,不等淘汰时再救。
SKBFL_SHARED_FRAG 标记 skb 的数据片段是共享的(可能来自 splice 进来的只读文件页);不传这个标记,下游就会以为可以就地改。
drm_gpusvm / drm_pagemap 通用的 GPU 共享虚拟内存框架与页映射抽象;amdgpu 是首个基于它实现完整 SVM 的大客户。
CPR(checkpoint-restore) vhost 新增的检查点/恢复支持;配合 VHOST_RESET_OWNER,让 guest 在 checkpoint 期间不丢 AF_VSOCK 连接。
feature header ABI(liveupdate) 把整体版本字符串换成分结构的 feature flags,让相邻内核版本的前滚/回滚不必因加字段而整体升版本。

如果对你有用,点个赞,或转给需要的朋友。

数据来源:ZDI / DRM / drm / LSM / PCI / pci / rust / LWN(lore.kernel.org)· 北京时间