v1
2026-11-02
UFFD写保护先验范围 · v1
UFFDIO_WRITEPROTECT先遍历验证整个范围都在已注册VMA内,再修改写保护并唤醒等待者,避免部分VMA已变更。
原始补丁链接
子 Patch(2)
1/2
userfaultfd: validate the whole range before changing write protection
mwriteprotect_range()先完整校验范围内VMA是否注册用于写保护及hugetlb对齐,再修改页表;避免后段校验失败时前段已改而unprotect路径跳过wake_userfault()。
2/2
selftests/mm: test a uffd write-protect range with an unregistered page
新增userfaultfd写保护自测:仅注册两页中的第一页,对两页范围做UFFDIO_WRITEPROTECT,验证保护与解除保护均返回ENOENT且第一页状态未被改动。