Update to commit
8430557fc584 ("mm/page_table_check: support
userfault wr-protect entries")
scripts/checktransupdate.py reports:
Documentation/translations/zh_CN/mm/page_table_check.rst
commit
8430557fc584 ("mm/page_table_check: support userfault wr-protect
entries")
commit
81a31a860bb6 ("mm: page_table_check: Make it dependent on
EXCLUSIVE_SYSTEM_RAM")
commit
ee86588960e2 ("docs/mm: remove useless markup")
3 commits needs resolving in total
Signed-off-by: Dongliang Mu <dzm91@hust.edu.cn>
Reviewed-by: Alex Shi <alexs@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Message-ID: <
68b62a5713d5a465f09226c1a607dee7ec76a6aa.
1729327831.git.dzm91@hust.edu.cn>
可以选择用PAGE_TABLE_CHECK_ENFORCED来构建内核,以便在没有额外的内核参数的情况下获得页表
支持。
+
+实现注意事项
+============
+
+我们特意决定不使用 VMA 信息,以避免依赖于 MM 状态(除了有限的 “struct page” 信息)。页表检查
+独立于 Linux-MM 状态机,它验证用户可访问的页面不会被错误地共享。
+
+PAGE_TABLE_CHECK 依赖于 EXCLUSIVE_SYSTEM_RAM。原因在于,若没有 EXCLUSIVE_SYSTEM_RAM,
+用户被允许通过 /dev/mem 将任意物理内存区域映射到用户空间。同时,页面可能在映射到用户空间期间
+改变自己的属性(例如,从匿名页面变为命名页面),导致页表检查检测到“损坏”。
+
+即使有 EXCLUSIVE_SYSTEM_RAM,I/O 页面可能仍然被允许通过 /dev/mem 映射。然而,这些页面始终
+被视为命名页面,所以它们不会破坏页表检查中使用的逻辑。