CVE-2021-47327

iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails

State
Published
Severity
7.1 High
Published
May 21, 2024
Updated
May 11, 2026
Reserved
May 21, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get fails

arm_smmu_rpm_get() invokes pm_runtime_get_sync(), which increases the refcount of the "smmu" even though the return value is less than 0.

The reference counting issue happens in some error handling paths of arm_smmu_rpm_get() in its caller functions. When arm_smmu_rpm_get() fails, the caller functions forget to decrease the refcount of "smmu" increased by arm_smmu_rpm_get(), causing a refcount leak.

Fix this issue by calling pm_runtime_resume_and_get() instead of pm_runtime_get_sync() in arm_smmu_rpm_get(), which can keep the refcount balanced in case of failure.

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HCISA-ADP

Weaknesses

  • CWE-911 Improper Update of Reference Count

Affected Products

ProductVersions
LinuxLinux
  • d4a44f0750bb9bf7c44c22444a482756b2344a79 to before 3761ae0d0e549f2acdaf11f49df4ed06d256b20fAffected
  • d4a44f0750bb9bf7c44c22444a482756b2344a79 to before c4007596fbdabc29f858dc2e1990858a146b60b2Affected
  • d4a44f0750bb9bf7c44c22444a482756b2344a79 to before fbf4daa6f4105e01fbd3868006f65c163365c1e3Affected
  • d4a44f0750bb9bf7c44c22444a482756b2344a79 to before fe92c058199067ae90cf2a901ddf3c271893557aAffected
  • d4a44f0750bb9bf7c44c22444a482756b2344a79 to before 1adf30f198c26539a62d761e45af72cde570413dAffected
LinuxLinux
  • 5.0Affected
  • before 5.0Not affected
  • 5.4.134 through 5.4.*Not affected
  • 5.10.52 through 5.10.*Not affected
  • 5.12.19 through 5.12.*Not affected
  • 5.13.4 through 5.13.*Not affected
  • 5.14 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.