projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a63c357
)
iommu/sva: Fix memory leak in iommu_sva_bind_device()
author
Harshit Mogalapalli
<harshit.m.mogalapalli@oracle.com>
Wed, 13 Dec 2023 11:14:50 +0000
(
03:14
-0800)
committer
Joerg Roedel
<jroedel@suse.de>
Fri, 15 Dec 2023 08:06:49 +0000
(09:06 +0100)
Free the handle when the domain allocation fails before unlocking and
returning.
Fixes: 092edaddb660 ("iommu: Support mm PASID 1:n with sva domains")
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Link:
https://lore.kernel.org/r/20231213111450.2487861-1-harshit.m.mogalapalli@oracle.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/iommu-sva.c
patch
|
blob
|
history
diff --git
a/drivers/iommu/iommu-sva.c
b/drivers/iommu/iommu-sva.c
index 5175e8d85247b2ab69107e0efe115620e54580f8..c3fc9201d0be97e59395750cda0fc29940c0b844 100644
(file)
--- a/
drivers/iommu/iommu-sva.c
+++ b/
drivers/iommu/iommu-sva.c
@@
-101,7
+101,7
@@
struct iommu_sva *iommu_sva_bind_device(struct device *dev, struct mm_struct *mm
domain = iommu_sva_domain_alloc(dev, mm);
if (!domain) {
ret = -ENOMEM;
- goto out_
unlock
;
+ goto out_
free_handle
;
}
ret = iommu_attach_device_pasid(domain, dev, iommu_mm->pasid);
@@
-118,6
+118,7
@@
out:
out_free_domain:
iommu_domain_free(domain);
+out_free_handle:
kfree(handle);
out_unlock:
mutex_unlock(&iommu_sva_lock);