本周两条主线:一场意外泄露的安全事件——ZDI 把六个未修补的内核 0day 发到了公开邮件列表,社区当天就接力出了修复; 以及 7.4 合并窗口的收尾——KMS 的 connector reset 钩子被彻底移除, Landlock 一次长出了 namespace 和 capability 两个新维度。
📊 板块热度
/ column
本周 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
/ columnZDI(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
/ columnconnector->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_atomic_commit_fill_with_defaults()。对 compositor 会话恢复、「显示状态一键归零」是直接受益方。原文 drm_gpusvm 迎来首个大客户:amdgpu 基于它实现完整 SVM——UAPI、range 属性树、notifier/GC、fault handler,以及基于 drm_pagemap 的 VRAM migration。Phase 1 限定单 GPU + XNACK on,是多 GPU SVM 的前哨。原文 drm_dev_srcu_synchronize() 作为设备 I/O 门。 📰 网络
/ column734bef548a96)。值得注意的流程信号:Phoronix 直接点出「AI 辅助贡献让单批 PR 体量持续膨胀」,这是 netdev 维护者公开讨论的评分制审查压力。报道 CONFIG_NET_SHAPER 时埋的雷:netdev_need_ops_lock() 会读 dev->netdev_ops->net_shaper_ops,但很多老驱动在 probe 早期还没赋值 → NULL 解引用。10 个补丁统一把赋值点前移。 📰 内存管理
/ columnPG_referenced/PG_workingset 吸进 3-bit 的 per-folio 引用计数,在访问路径上就完成晋升,还顺手释放一个 page flag。LevelDB GET/SCAN +41%、MongoDB YCSB +16.8%、zRAM 工作集最多 +76%。原文 SP_EL0 指向 overflow stack、SP_EL1 指向内核栈,借 SPSel 在异常入口直接切换——后续可把内核栈做薄,不再为每个 task 预留超额空间。全球 DRAM 缺货的大背景下,这题突然变得重要。 📰 安全 / LSM
/ columnnamespace_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_RULE_NAMESPACE / LANDLOCK_RULE_CAPABILITY,namespace 侧覆盖 unshare/clone/clone3/setns/open_tree/fsmount,capability 侧限制进程已有 capability 的使用。Landlock 从「文件/网络沙箱」变成「privilege/namespace 沙箱」,59 文件、6437 行插入。合并 commit 3815f7d55ae1(10-22)。原文 inode_init_security 路径,让规则能约束之后才创建的对象。 📰 媒体 / 相机
/ columnstruct 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 与社区磨合的好样本。 release_fence 到 struct vb2_buffer,让 V4L2 驱动作为 dmabuf producer 在 VB2_BUF_STATE_DONE 时 signal exclusive fence。补齐了「Wayland compositor 拿到 V4L2 导出的 dmabuf 只能看到 stub fence」这个长期缺口;隐式 vs 显式 fencing 的路线之争仍在进行。 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」陷阱。 📰 文件系统 / 块层
/ columna46c27026da1 把 isolated CPU 从 hctx cpumask 摘除后,空 cpumask 返回 WORK_CPU_UNBOUND,kblockd 仍可能落到隔离 CPU 上被 SCHED_FIFO 任务饿死。Ming Lei 质疑问题本质在 schedule_work(),线程未收敛。 📰 PCI / 架构 / Rust / virtio / RT
/ columnsetup-res.c 约 223 行。 kuid_t/kgid_t 改成 tagged union,新增 20 字节的 __kernel_uid_r_t。反对声很强:Lionel Cons 类比 Windows SID 并警告 128 位哈希碰撞,Ted Ts'o 直称 non-starter。原文 CONFIG_RT_GROUP_SCHED 后面,v7.2 更把默认 runtime 改成 no-op。现在提议直接删除 /proc/sys/kernel/sched_rt_* 与 CONFIG_RT_GROUP_SCHED,Tejun Heo 明确不反对。原文 📚 LWN 本周
/ columnThe 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
🧭 合入状态
/ columna804c5742bff,10-20)· Landlock ABI 12(3815f7d55ae1,10-22)· networking 7.4 整批(734bef548a96,10-22)· vhost/virtio CPR(9f2516f45b7c,10-24,本地镜像 HEAD 为 10-23,尚未同步) ⚙️ 机制雷达
/ columnatomic_create_state(可失败、无副作用)。树外的 connector 驱动必须跟着改。 ns_common 安全 blob,让 LSM 第一次能在 namespace 创建/安装/释放时做策略判断。Landlock 是首个消费者,SELinux 预计下个窗口跟进。 📰 与你方向的交叉点
/ columnv4l2_async_register_subdev_sensor(),务必确认 BSP 里带上了这个修复——owner 被覆盖会导致模块可被提前 rmmod,进而 UAF。 reset 钩子正在被删——迁到 atomic_create_state。 📖 本期概念速查
/ sectionreset。 VHOST_RESET_OWNER,让 guest 在 checkpoint 期间不丢 AF_VSOCK 连接。 如果对你有用,点个赞,或转给需要的朋友。
数据来源:ZDI / DRM / drm / LSM / PCI / pci / rust / LWN(lore.kernel.org)· 北京时间