本周两条主线:7.4 合并窗口关闭,rc1 已经发布——大系列赶在关门前的最后一批落地; 以及 mm 甩出一份 47 帖的「急救包」,把 KSM、mremap、GUP、khugepaged 攒着的一批正确性问题一次性摊到桌面上。标题里那个问号很诚实: mm: various (urgent?) fixes。
📊 板块热度
/ column
本周 6 天数据(10-29 机器停机,无数据):net 2236 · DRM 1909 · mm 1839 · fs 1026 · media 799 · PCI 643 · arch 426 · LSM 363 · Rust 283 · block 266 · rt 35 · virtio 6。 mm 排到第三,但单系列体量最大(47 帖急救包),日均只算 6 天会有偏差。
🏆 本周头条:mm 的 47 帖「急救包」
/ column[PATCH v3 00/47] mm: various (urgent?) fixes——47 个补丁打在同一个系列里, 覆盖 KSM、mremap、GUP、khugepaged、huge_memory、filemap、memfd、mglru 八个子模块。 这不是新功能,是一次集中清账。
ksm: fix use of a freed anon_vma at swap-in(swap-in 时用了已释放的 anon_vma)、ksm: reset the unstable trees of all nodes、ksm: check large swap-cache folios before mapping them。KSM 的 rmap 与 unstable tree 是经典易错区。原文 fix moving PUD leaves / recheck PUDs under the page table lock / use pudp_huge_get_and_clear() when moving huge PUDs / mm: fix deadlock of mremap() against UFFDIO_MOVE。PUD 级别的移动与锁重检,都是被 syzbot 喂出来的那类问题。 check for overflow when converting nr_pages to bytes、fix out-of-bounds write for nr_pages == 0、recheck the PUD under PTL in follow_pud_mask()、fix clearing folios in memfd_pin_folios()。GUP 是老牌高危区,这四条都是边界条件。 check if PTE table is empty / preserve dirty bits when collapsing PTE-mapped THPs / fix PMD table lock leak / always recheck the pmd。「脏位丢失」那条最危险——折叠后数据可能不落盘。 fork: take mmap_lock before copying mm_struct。 urgent? 本身就是信号:作者自己也在判断这些够不够「紧急」。对内核研究者来说,这 47 条是mm 子系统当下最脆弱点的清单——想找切入点,从这里挑一条读 commit message 就是最好的入口。 📰 本周其它重点
/ columnfor v7.4-rc1:drm fixes、fbdev、fsverity、vfs fixes 等。窗口关门前最后一批大系列都进来了,接下来两周是 rc 期的修 bug 节奏。LWN atomic_create_state,并在 v3 里把 drm/tests 也一起迁了。KMS 里最后一个不可失败的初始化钩子,还剩最后一段路。原文 dyndbg: split multi-query strings with @ 与把 mod_name 从 ddebug_table 下移到 _ddebug_info 是结构性改动。调试点(dyndbg)自己的 API 在收敛。原文 ext4: allow remounting read-only in the emergency state + ocfs2: don't set SB_RDONLY after filesystem errors——统一「文件系统出错后如何进入只读」的语义,v2 已覆盖多个 fs。这类跨 fs 的一致性改造,往往是后续新 API 的前置。原文 is_signaled() 的竞态从 API 层面消掉——上周的 skb_zerocopy 安全修复同源,都是「共享资源的完成语义」问题。 📚 LWN 本周
/ columnRemoving binder.c · Containers as a recognized kernel object · Guidelines for panics in kernel code · The first part of the 7.4 merge window · Seeking smaller kernel stacks · The end of __get_user() and __put_user()
🧭 合入状态
/ column⚙️ 机制雷达
/ column📰 与你方向的交叉点
/ columnmemfd_pin_folios() 那条和 GUP-fast 溢出 两条值得读——它们直接影响长时 pin 的缓冲区。 📖 本期概念速查
/ section如果对你有用,点个赞,或转给需要的朋友。
数据来源:mm / LWN(lore.kernel.org)· 北京时间