ANDROID: KVM: arm64: iommu: Avoid ref count leak when __pkvm_host_use_dma fails
In kvm_iommu_map_pages, release the reference to the domain if we return
early because __pkvm_host_use_dma failed.
Bug: 401132481
Fixes: a737b7d0e721 ("ANDROID: KVM: arm64: iommu: Reduce the logic in generic code")
Change-Id: Ib792425a726513f5a6b8198aa3d0208aa43b0502
Signed-off-by: Daniel Mentz <danielmentz@google.com>
Signed-off-by: Mostafa Saleh <smostafa@google.com>
This commit is contained in:
committed by
Mostafa Saleh
parent
3ded8a3190
commit
99ce28bfce
@@ -484,7 +484,7 @@ size_t kvm_iommu_map_pages(pkvm_handle_t domain_id,
|
||||
|
||||
ret = __pkvm_use_dma(paddr, size, __get_vcpu());
|
||||
if (ret)
|
||||
return 0;
|
||||
goto out_put_domain;
|
||||
|
||||
kvm_iommu_ops->map_pages(domain, iova, paddr, pgsize, pgcount, prot, &total_mapped);
|
||||
|
||||
@@ -497,6 +497,7 @@ size_t kvm_iommu_map_pages(pkvm_handle_t domain_id,
|
||||
if (pgcount)
|
||||
__pkvm_unuse_dma(paddr + total_mapped, pgcount * pgsize, __get_vcpu());
|
||||
|
||||
out_put_domain:
|
||||
domain_put(domain);
|
||||
return total_mapped;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user