CVE-2025-39736 mm/kmemleak: avoid deadlock by moving pr_warn() outside kmemleak_lock
Description
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.
Produits et versions touchés
| Produit | Versions touchées | Corrigé en |
|---|---|---|
| Linux 6.17 | premières → < 6.17 | 6.17 |
| Linux 6.16 | premières → < 6.16.2 | 6.16.2 |
| Linux 6.15 | premières → < 6.15.11 | 6.15.11 |
| Linux 6.12 | premières → < 6.12.43 | 6.12.43 |
| Linux 6.6 | premières → < 6.6.103 | 6.6.103 |
| Linux 6.1 | premières → < 6.1.149 | 6.1.149 |
| Linux 5.15 | premières → < 5.15.190 | 5.15.190 |
| Linux 5.10 | premières → < 5.10.241 | 5.10.241 |
| Linux | 5.4 | 5.4.297 |
Afficher l’autre branche Masquer l’autre branche
| Produit | Versions touchées | Corrigé en |
|---|---|---|
| SIMATIC CN 4100 5.0 | premières → < 5.0 | 5.0 |
Références
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
- git.kernel.org git.kernel.org
Chronologie
- Publiée
- Dernière modification