v1
2026-11-04
memfd 写密封可靠检测 GUP 引用 · v1
修复 write-seal 时漏检 GUP pin 的竞态:对带 pincount 的 folio 可靠检测 pin,并对已填充文件映射引入 vm.memfd_write_seal_mapped 控制行为。
原始补丁链接
子 Patch(2)
1/2
mm/memfd: handle GUP pins more reliably when write-sealing
在 memfd_wait_for_pins() 中优先用 folio_maybe_dma_pinned() 检测有可靠 pincount 的 folio 的 FOLL_PIN 引用,避免与 mapcount 变化竞争导致 F_SEAL_WRITE 漏检 pin;小页仍回退 refcount 比较。
2/2
mm/memfd: handle GUP references reliably when write-sealing
在 F_SEAL_WRITE 时若仍有任何 memfd 文件映射就返回 -EBUSY,要求先 munmap,从根本上避免 mapcount 与 refcount 比较竞争导致 GUP pin 漏检;不用映射的生产者不受影响。