In the Linux kernel, the following vulnerability has been resolved:
fs/proc/task_mmu: fix loss of young/dirty bits during pagemap scan
make_uffd_wp_pte() was previously doing:
pte = ptep_get(ptep);
ptep_modify_prot_start(ptep);
pte = pte_mkuffd_wp(pte);
ptep_modify_prot_commit(ptep, pte);
But if another thread accessed or dirtied the pte between the first 2
calls, this could lead to loss of that information. Since
ptep_modify_prot_start() gets and clears atomically, the following is the
correct pattern and prevents any possible race. Any access after the
first call would see an invalid pte and cause a fault:
pte = ptep_modify_prot_start(ptep);
pte = pte_mkuffd_wp(pte);
ptep_modify_prot_commit(ptep, pte);
References
Configurations
Configuration 1 (hide)
|
History
No history.
Information
Published : 2024-05-30 16:15
Updated : 2025-10-01 14:01
NVD link : CVE-2024-36943
Mitre link : CVE-2024-36943
CVE.ORG link : CVE-2024-36943
JSON object : View
Products Affected
linux
- linux_kernel
CWE
