CVE-2024-42102

Source
https://cve.org/CVERecord?id=CVE-2024-42102
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-42102.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-42102
Downstream
Related
Published
2024-07-30T07:45:58.423Z
Modified
2026-03-13T07:57:19.258241Z
Summary
Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again"
Details

In the Linux kernel, the following vulnerability has been resolved:

Revert "mm/writeback: fix possible divide-by-zero in wbdirtylimits(), again"

Patch series "mm: Avoid possible overflows in dirty throttling".

Dirty throttling logic assumes dirty limits in page units fit into 32-bits. This patch series makes sure this is true (see patch 2/2 for more details).

This patch (of 2):

This reverts commit 9319b647902cbd5cc884ac08a8a6d54ce111fc78.

The commit is broken in several ways. Firstly, the removed (u64) cast from the multiplication will introduce a multiplication overflow on 32-bit archs if wbthresh * bgthresh >= 1<<32 (which is actually common - the default settings with 4GB of RAM will trigger this). Secondly, the div64u64() is unnecessarily expensive on 32-bit archs. We have div64ul() in case we want to be safe & cheap. Thirdly, if dirty thresholds are larger than 1<<32 pages, then dirty balancing is going to blow up in many other spectacular ways anyway so trying to fix one possible overflow is just moot.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/42xxx/CVE-2024-42102.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c593d26fb5d577ef31b6e49a31e08ae3ebc1bc1e
Fixed
253f9ea7e8e53a5176bd80ceb174907b10724c1a
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1f12e4b3284d6c863f272eb2de0d4248ed211cf4
Fixed
23a28f5f3f6ca1e4184bd0e9631cd0944cf1c807
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
81e7d2530d458548b90a5c5e76b77ad5e5d1c0df
Fixed
145faa3d03688cbb7bbaaecbd84c01539852942c
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5099871b370335809c0fd1abad74d9c7c205d43f
Fixed
2820005edae13b140f2d54267d1bd6bb23915f59
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
16b1025eaa8fc223ab4273ece20d1c3a4211a95d
Fixed
cbbe17a324437c0ff99881a3ee453da45b228a00
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
ec18ec230301583395576915d274b407743d8f6c
Fixed
f6620df12cb6bdcad671d269debbb23573502f9d
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
9319b647902cbd5cc884ac08a8a6d54ce111fc78
Fixed
000099d71648504fb9c7a4616f92c2b70c3e44ec
Fixed
30139c702048f1097342a31302cbd3d478f50c63
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
65977bed167a92e87085e757fffa5798f7314c9f

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-42102.json"