CVE-2025-37859

Source
https://cve.org/CVERecord?id=CVE-2025-37859
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-37859.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-37859
Downstream
Related
Published
2025-05-09T06:42:06.596Z
Modified
2026-03-20T12:42:31.182733Z
Summary
page_pool: avoid infinite loop to schedule delayed worker
Details

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

page_pool: avoid infinite loop to schedule delayed worker

We noticed the kworker in pagepoolreleaseretry() was waken up repeatedly and infinitely in production because of the buggy driver causing the inflight less than 0 and warning us in pagepool_inflight()[1].

Since the inflight value goes negative, it means we should not expect the whole page_pool to get back to work normally.

This patch mitigates the adverse effect by not rescheduling the kworker when detecting the inflight negative in pagepoolrelease_retry().

[1] [Mon Feb 10 20:36:11 2025] ------------[ cut here ]------------ [Mon Feb 10 20:36:11 2025] Negative(-51446) inflight packet-pages ... [Mon Feb 10 20:36:11 2025] Call Trace: [Mon Feb 10 20:36:11 2025] pagepoolreleaseretry+0x23/0x70 [Mon Feb 10 20:36:11 2025] processonework+0x1b1/0x370 [Mon Feb 10 20:36:11 2025] workerthread+0x37/0x3a0 [Mon Feb 10 20:36:11 2025] kthread+0x11a/0x140 [Mon Feb 10 20:36:11 2025] ? processonework+0x370/0x370 [Mon Feb 10 20:36:11 2025] ? _kthreadcancelwork+0x40/0x40 [Mon Feb 10 20:36:11 2025] retfromfork+0x35/0x40 [Mon Feb 10 20:36:11 2025] ---[ end trace ebffe800f33e7e34 ]--- Note: before this patch, the above calltrace would flood the dmesg due to repeated reschedule of releasedw kworker.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/37xxx/CVE-2025-37859.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
05f646cb2174d1a4e032b60b99097f5c4b522616
Fixed
c3c7c57017ce1d4b2d3788c1fc59e7e39026e158
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c3f812cea0d7006469d1cf33a4a9f0a12bb4b3a3
Fixed
9f71db4fb82deb889e0bac4a51b34daea7d506a3
Fixed
91522aba56e9fcdf64da25ffef9b27f8fad48e0f
Fixed
90e089a64504982f8d62f223027cb9f903781f78
Fixed
95f17738b86fd198924d874a5639bcdc49c7e5b8
Fixed
7204335d1991c23fc615ab76f31f175748a578e1
Fixed
e74e5aa33228c5e2cb4fc80ad103541a7b7805ec
Fixed
738d1812ec2e395e953258aea912ddd867d11a13
Fixed
43130d02baa137033c25297aaae95fd0edc41654
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
bf22306d92ca59c59dc4aa3bab14768948193d56

Database specific

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