CVEvulnerability
CVE-2025-40218
- Status
- Deferred
- Published
- 2025-12-04
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
mm/damon/vaddr: do not repeat pte_offset_map_lock() until success
DAMON's virtual address space operation set implementation (vaddr) calls
pte_offset_map_lock() inside the page table walk callback function. This
is for reading and writing page table accessed bits. If
pte_offset_map_lock() fails, it retries by returning the page table walk
callback function with ACTION_AGAIN.
pte_offset_map_lock() can continuously fail if the target is a pmd
migration entry, though. Hence it could cause an infinite page table walk
if the migration cannot be done until the page table walk is finished.
This indeed caused a soft lockup when CPU hotplugging and DAMON were
running in parallel.
Avoid the infinite loop by simply not retrying the page table walk. DAMON
is promising only a best-effort accuracy, so missing access to such pages
is no problem.
References
- https://git.kernel.org/stable/c/0ccd91cf749536d41307a07e60ec14ab0dbf21f5 git.kernel.org
- https://git.kernel.org/stable/c/677ebfe5d00f94adec0c0204f6e6e2a82d3f77bf git.kernel.org
- https://git.kernel.org/stable/c/ac42320ec873bfe726141069cfdd90ee5bc4e885 git.kernel.org
- https://git.kernel.org/stable/c/b93af2cc8e036754c0d9970d9ddc47f43cc94b9f git.kernel.org