In the Linux kernel, the following vulnerability has been resolved:
iommu/arm-smmu: Fix arm_smmu_device refcount leak in address translation
The reference counting issue happens in several exception handling paths
of arm_smmu_iova_to_phys_hard(). When those error scenarios occur, the
function forgets to decrease the refcount of “smmu” increased by
arm_smmu_rpm_get(), causing a refcount leak.
Fix this issue by jumping to “out” label when those error scenarios
occur.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/iommu/arm/arm-smmu/arm-smmu.c"
],
"versions": [
{
"version": "1da177e4c3f4",
"lessThan": "b11220803ad1",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "43d1aaa1965f",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "0f0c5ea09139",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "5f9741a9a91f",
"status": "affected",
"versionType": "git"
},
{
"version": "1da177e4c3f4",
"lessThan": "7c8f176d6a3f",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/iommu/arm/arm-smmu/arm-smmu.c"
],
"versions": [
{
"version": "5.4.134",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.52",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.12.19",
"lessThanOrEqual": "5.12.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.13.4",
"lessThanOrEqual": "5.13.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.14",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/0f0c5ea09139777d90729d408b807021f2ea6492
git.kernel.org/stable/c/43d1aaa1965f9b58035196dac49b1e1e6c9c25eb
git.kernel.org/stable/c/5f9741a9a91f25c89e04b408cd61e3ab050ce24b
git.kernel.org/stable/c/7c8f176d6a3fa18aa0f8875da6f7c672ed2a8554
git.kernel.org/stable/c/b11220803ad14a2a880cc06d8e01fe2548cc85b0