CVE-2023-53501

Updated on 01 Oct 2025

Severity

4.7 Medium severity

Details

CVSS score
4.7
CVSS vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

Overview

About vulnerability

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.

Details

Affected packages:
kernel @ 4.18.0 (+4 more)

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.

Fixes