Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: iommu/amd/iommu_v2: Fix pasid_state refcount dec hit 0 warning on pasid unbind When unbinding pasid - a race condition exists vs outstanding page faults. To prevent this, the pasid_state object contains a refcount. * set to 1 on pasid bind * incremented on each ppr notification start * decremented on each ppr notification done * decremented on pasid unbind Since refcount_dec assumes that refcount will never reach 0: the current implementation causes the following to be invoked on pasid unbind: REFCOUNT_WARN("decrement hit 0; leaking memory") Fix this issue by changing refcount_dec to refcount_dec_and_test to explicitly handle refcount=1.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 8bc54824da4e8fcf0ed679cf09ac32f23d83254a before a50d60b8f2aff46dd7c7edb4a5835cdc4d432c22; affected 8bc54824da4e8fcf0ed679cf09ac32f23d83254a before 13ed255248dfbbb7f23f9170c7a537fb9ca22c73; affected 8bc54824da4e8fcf0ed679cf09ac32f23d83254a before 9ccc51be3126b25cfe9351dbffde946c925cc28a; affected 8bc54824da4e8fcf0ed679cf09ac32f23d83254a before 98d86bf32187db27946ca817c2467a5f2f7aa02f; affected 8bc54824da4e8fcf0ed679cf09ac32f23d83254a before 534103bcd52ca9c1fecbc70e717b4a538dc4ded8 |
| Linux / Linux | affected 5.15; unaffected 0 before 5.15; unaffected 5.15.132 through 5.15.*; unaffected 6.1.53 through 6.1.*; unaffected 6.4.16 through 6.4.*; unaffected 6.5.3 through 6.5.*; unaffected 6.6 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/a50d60b8f2aff46dd7c7edb4a5835cdc4d432c22
- https://git.kernel.org/stable/c/13ed255248dfbbb7f23f9170c7a537fb9ca22c73
- https://git.kernel.org/stable/c/9ccc51be3126b25cfe9351dbffde946c925cc28a
- https://git.kernel.org/stable/c/98d86bf32187db27946ca817c2467a5f2f7aa02f
- https://git.kernel.org/stable/c/534103bcd52ca9c1fecbc70e717b4a538dc4ded8