CVE-2026-53050

quota: Fix race of dquot_scan_active() with quota deactivation

State
Published
Severity
7.8 High
Published
Jun 24, 2026
Updated
Oct 15, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 22c06bf1f99ec3ec16b1a81342becba4c59a1f16 to before 2bdc80f4619411e5bd4a3ef23f51e14021ed457cAffected
  • 56e96b38d2f7cd95b3c30eb70decac7233915e0a to before f9438cb8c8ec3adc84b2b450a3aab0123d074c3bAffected
  • 12a820a9923c11e8e898da9f82c8aded70cdcd16 to before ac8a2e0d287ebf35e5d7e51e260b4e146648ba4aAffected
  • 869b6ea1609f655a43251bf41757aa44e5350a8f to before 6678dde265708003c2b42551af4a2e3cb05decd5Affected
  • 869b6ea1609f655a43251bf41757aa44e5350a8f to before 61e25f664dc2a08299e07d84c85776abc2350f75Affected
  • 869b6ea1609f655a43251bf41757aa44e5350a8f to before fdd424d7c35633ac577fd87d1b043d1b8a6cd350Affected
  • 869b6ea1609f655a43251bf41757aa44e5350a8f to before 82cbdb4c1ebb5ea7d7bd45c18d3483b5bd32ebc1Affected
  • 869b6ea1609f655a43251bf41757aa44e5350a8f to before e93ab401da4b2e2c1b8ef2424de2f238d51c8b2dAffected
  • bb7e3a019b52d829949d02b64ebab37838148fbfAffected
  • 061a18239ced5eb086967a2b4451cb1cc5ce0702Affected
  • 2a1ddddba6541143c8f73962f3021f1789114284Affected
  • 5.10.199 to before 5.10.258Affected
  • 5.15.136 to before 5.15.209Affected
  • 6.1.59 to before 6.1.175Affected
  • 4.19.297 to before 4.20Affected
  • 5.4.259 to before 5.5Affected
  • 6.5.8 to before 6.6Affected
LinuxLinux
  • 6.6Affected
  • before 6.6Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.141 through 6.6.*Not affected
  • 6.12.91 through 6.12.*Not affected
  • 6.18.33 through 6.18.*Not affected
  • 7.0.10 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.