CVE-2025-39736
published 2025-09-11CVE-2025-39736: In the Linux kernel, the following vulnerability has been resolved: mm/kmemleak: avoid deadlock by moving pr_warn() outside kmemleak_lock When netpoll is…
medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
In the Linux kernel, the following vulnerability has been resolved:
mm/kmemleak: avoid deadlock by moving pr_warn() outside kmemleak_lock
When netpoll is enabled, calling pr_warn_once() while holding
kmemleak_lock in mem_pool_alloc() can cause a deadlock due to lock
inversion with the netconsole subsystem. This occurs because
pr_warn_once() may trigger netpoll, which eventually leads to
__alloc_skb() and back into kmemleak code, attempting to reacquire
kmemleak_lock.
This is the path for the deadlock.
mem_pool_alloc()
-> raw_spin_lock_irqsave(&kmemleak_lock, flags);
-> pr_warn_once()
-> netconsole subsystem
-> netpoll
-> __alloc_skb
-> __create_object
-> raw_spin_lock_irqsave(&kmemleak_lock, flags);
Fix this by setting a flag and issuing the pr_warn_once() after
kmemleak_lock is released.
Affected
39 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | debian_linux | — | — |
| debian | linux | < linux 6.1.153-1 (bookworm) | linux 6.1.153-1 (bookworm) |
| debian | linux-6.1 | < linux 6.1.153-1 (bookworm) | linux 6.1.153-1 (bookworm) |
| linux | linux | — | — |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < c7b6ea0ede687e7460e593c5ea478f50aa41682a | c7b6ea0ede687e7460e593c5ea478f50aa41682a |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < 4b0151e1d468eb2667c37b7af99b3c075072d334 | 4b0151e1d468eb2667c37b7af99b3c075072d334 |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < f249d32bb54876b4b6c3ae071af8ddca77af390b | f249d32bb54876b4b6c3ae071af8ddca77af390b |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < 62879faa8efe8d8a9c7bf7606ee9c068012d7dac | 62879faa8efe8d8a9c7bf7606ee9c068012d7dac |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < 1da95d3d4b7b1d380ebd87b71a61e7e6aed3265d | 1da95d3d4b7b1d380ebd87b71a61e7e6aed3265d |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < a0854de00ce2ee27edf39037e7836ad580eb3350 | a0854de00ce2ee27edf39037e7836ad580eb3350 |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < 08f70be5e406ce47c822f2dd11c1170ca259605b | 08f70be5e406ce47c822f2dd11c1170ca259605b |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < a181b228b37a6a5625dad2bb4265bb7abb673e9f | a181b228b37a6a5625dad2bb4265bb7abb673e9f |
| linux | linux | >= c5665868183fec689dbab9fb8505188b2c4f0757 < 47b0f6d8f0d2be4d311a49e13d2fd5f152f492b2 | 47b0f6d8f0d2be4d311a49e13d2fd5f152f492b2 |
| linux | linux_kernel | — | — |
| linux | linux_kernel | >= 0 < 5.10.244-1 | 5.10.244-1 |
| linux | linux_kernel | >= 0 < 6.1.153-1 | 6.1.153-1 |
| linux | linux_kernel | >= 0 < 6.12.43-1 | 6.12.43-1 |
| linux | linux_kernel | >= 0 < 6.16.3-1 | 6.16.3-1 |
| linux | linux_kernel | >= 0 < 5.15.0-163.173 | 5.15.0-163.173 |
| linux | linux_kernel | >= 0 < 6.8.0-100.100 | 6.8.0-100.100 |
| linux | linux_kernel | >= 5.11 < 5.15.190 | 5.15.190 |
| linux | linux_kernel | >= 5.16 < 6.1.149 | 6.1.149 |
| linux | linux_kernel | >= 5.4 < 5.4.297 | 5.4.297 |
| linux | linux_kernel | >= 5.5 < 5.10.241 | 5.10.241 |
| linux | linux_kernel | >= 6.13 < 6.15.11 | 6.15.11 |
CVSS provenance
nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM