PT-2024-29864 · Linux+7 · Linux Kernel+7
Wei Xu
·
Published
2024-07-17
·
Updated
2025-09-29
·
CVE-2024-42316
CVSS v3.1
5.5
Medium
| Vector | AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Name of the Vulnerable Software and Affected Versions
Linux kernel versions prior to 6.6.50
Description
A vulnerability has been resolved in the Linux kernel, specifically in the mm/mglru module, where a div-by-zero error could occur in the vmpressure calc level() function. This issue arises when the evict folios() function uses a second pass to reclaim folios that have gone through page writeback and become clean before finishing the first pass. The second pass attempts to avoid potential double counting by deducting scan control->nr scanned, but this can result in an underflow of nr scanned if shrink folio list() does not increment nr scanned, such as when folio trylock() fails. This underflow can cause the divisor in vmpressure calc level() to become zero, leading to a crash.
Recommendations
To resolve this issue, update the Linux kernel to version 6.6.50 or later. As a temporary workaround, consider modifying the evict folios() function to not deduct scan control->nr scanned to prevent the underflow of nr scanned.
Exploit
Fix
Integer Underflow
Divide By Zero
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Alt Linux
Astra Linux
Linuxmint
Linux Kernel
Red Hat
Red Os
Suse
Ubuntu