CVE-2026-53050 In the Linux kernel, the following vulnerability has been resolved: quota: Fix race of dquot_scan_active() with quota…
Description
In the Linux kernel, the following vulnerability has been resolved: quota: Fix race of dquot_scan_active() with quota deactivation dquot_scan_active() can race with quota deactivation in quota_release_workfn() like: CPU0 (quota_release_workfn) CPU1 (dquot_scan_active) ============================== ============================== spin_lock(&dq_list_lock); list_replace_init( &releasing_dquots, &rls_head); /* dquot X on rls_head, dq_count == 0, DQ_ACTIVE_B still set */ spin_unlock(&dq_list_lock); synchronize_srcu(&dquot_srcu); spin_lock(&dq_list_lock); list_for_each_entry(dquot, &inuse_list, dq_inuse) { /* finds dquot X */ dquot_active(X) -> true atomic_inc(&X->dq_count); } spin_unlock(&dq_list_lock); spin_lock(&dq_list_lock); dquot = list_first_entry(&rls_head); WARN_ON_ONCE(atomic_read(&dquot->dq_count)); The problem is not only a cosmetic one as under memory pressure the caller of dquot_scan_active() can end up working on freed dquot. Fix the problem by making sure the dquot is removed from releasing list when we acquire a reference to it.
Affected products and versions
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux 7.1 | earliest → < 7.1 | 7.1 |
| Linux 7.0 | earliest → < 7.0.10 | 7.0.10 |
| Linux 6.18 | earliest → < 6.18.33 | 6.18.33 |
| Linux 6.12 | earliest → < 6.12.91 | 6.12.91 |
| Linux | 6.6 | 6.6.141 |
| Linux 6.1 | earliest → < 6.1.175 | 6.1.175 |
| Linux 5.15 | earliest → < 5.15.209 | 5.15.209 |
| Linux 5.10 | earliest → < 5.10.258 | 5.10.258 |
| SIMATIC S7-1500 CPU 1518-4 PN/DP MFP 3.1 | 3.1.7 → latest | No fix stated |
Show the 2 other branches Hide the 2 other branches
| Product | Affected versions | Fixed in |
|---|---|---|
| SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP 3.1 | 3.1.7 → latest | No fix stated |
| SIPLUS S7-1500 CPU 1518-4 PN/DP MFP 3.1 | 3.1.7 → latest | No fix stated |
References
- 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
Timeline
- Published
- Last modified