Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
8bc54824da4e8fcf0ed679cf09ac32f23d83254a to < a50d60b8f2aff46dd7c7edb4a5835cdc4d432c22affected8bc54824da4e8fcf0ed679cf09ac32f23d83254a to < 13ed255248dfbbb7f23f9170c7a537fb9ca22c73affected8bc54824da4e8fcf0ed679cf09ac32f23d83254a to < 9ccc51be3126b25cfe9351dbffde946c925cc28aaffected8bc54824da4e8fcf0ed679cf09ac32f23d83254a to < 98d86bf32187db27946ca817c2467a5f2f7aa02faffected8bc54824da4e8fcf0ed679cf09ac32f23d83254a to < 534103bcd52ca9c1fecbc70e717b4a538dc4ded8affected
Linux Linux
Default version status: affected
5.15affected0 to < 5.15unaffected5.15.132 to ≤ 5.15.*unaffected6.1.53 to ≤ 6.1.*unaffected6.4.16 to ≤ 6.4.*unaffected6.5.3 to ≤ 6.5.*unaffected6.6 to ≤ *unaffected
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 ↗