CVE-2025-37859
Description
In the Linux kernel, the following vulnerability has been resolved: page_pool: avoid infinite loop to schedule delayed worker We noticed the kworker in page_pool_release_retry() was waken up repeatedly and infinitely in production because of the buggy driver causing the inflight less than 0 and warning us in page_pool_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 page_pool_release_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] page_pool_release_retry+0x23/0x70 [Mon Feb 10 20:36:11 2025] process_one_work+0x1b1/0x370 [Mon Feb 10 20:36:11 2025] worker_thread+0x37/0x3a0 [Mon Feb 10 20:36:11 2025] kthread+0x11a/0x140 [Mon Feb 10 20:36:11 2025] ? process_one_work+0x370/0x370 [Mon Feb 10 20:36:11 2025] ? __kthread_cancel_work+0x40/0x40 [Mon Feb 10 20:36:11 2025] ret_from_fork+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 release_dw kworker.
How to fix
- linux linux_kernel5.4, 5.4.293, 5.10.237, 5.15.181, 6.1.135, 6.6.88, 6.12.24, 6.13.12, 6.14.3 or later
- git.kernel.org/stable/c/43130d02baa137033c25297aaae95fd0edc41654
- git.kernel.org/stable/c/7204335d1991c23fc615ab76f31f175748a578e1
- git.kernel.org/stable/c/738d1812ec2e395e953258aea912ddd867d11a13
- git.kernel.org/stable/c/90e089a64504982f8d62f223027cb9f903781f78
- git.kernel.org/stable/c/91522aba56e9fcdf64da25ffef9b27f8fad48e0f
- git.kernel.org/stable/c/95f17738b86fd198924d874a5639bcdc49c7e5b8
- git.kernel.org/stable/c/9f71db4fb82deb889e0bac4a51b34daea7d506a3
- git.kernel.org/stable/c/c3c7c57017ce1d4b2d3788c1fc59e7e39026e158
- git.kernel.org/stable/c/e74e5aa33228c5e2cb4fc80ad103541a7b7805ec
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 5.3.18 ≤ v < 5.4, 5.4.5 ≤ v < 5.4.293, 5.5 ≤ v < 5.10.237, 5.11 ≤ v < 5.15.181, 5.16 ≤ v < 6.1.135, 6.2 ≤ v < 6.6.88, 6.7 ≤ v < 6.12.24, 6.13 ≤ v < 6.13.12, 6.14 ≤ v < 6.14.3 | 5.4, 5.4.293, 5.10.237, 5.15.181, 6.1.135, 6.6.88, 6.12.24, 6.13.12, 6.14.3 |
| debian debian_linux | 11.0 | — |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.