v1
2026-09-28
禁止迁移含 HWPoison 页的 folio · v1
修复 memory_failure 放弃已置 PG_hwpoison 的 folio 后仍被迁移,导致损坏数据无 SIGBUS 复制给用户。
原始补丁链接
子 Patch(2)
1/2
mm/compaction: skip folios containing hwpoisoned pages
memory_failure() sets PG_hwpoison on the error page before it manages to pin the folio via get_hwpoison_page(). Compaction running on another CPU can isolate that same folio in the meantime, so HWPoi
2/2
mm/migrate: refuse to migrate folios containing hwpoisoned pages
All callers of migrate_pages() without their own poison handling - move_pages(2), mbind(), NUMA balancing, alloc_contig_range() (CMA) and long-term GUP - can race memory_failure() the same way compact