UPSTREAM: iommu/amd: Fix possible memory leak of 'domain'
Move allocation code down to avoid memory leak.
Bug: 254441685
Fixes: 29f54745f245 ("iommu/amd: Add missing domain type checks")
Signed-off-by: Su Hui <suhui@nfschina.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Jerry Snitselaar <jsnitsel@redhat.com>
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Link: https://lore.kernel.org/r/20230608021933.856045-1-suhui@nfschina.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
(cherry picked from commit 5b00369fcf6d1ff9050b94800dc596925ff3623f)
Signed-off-by: Lee Jones <joneslee@google.com>
Change-Id: If78fac206bfdc899bed14335ed46eda3946591a2
This commit is contained in:
parent
e5f37a2c46
commit
87cd3d689e
1 changed files with 4 additions and 4 deletions
|
|
@ -2055,10 +2055,6 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
|
||||||
int mode = DEFAULT_PGTABLE_LEVEL;
|
int mode = DEFAULT_PGTABLE_LEVEL;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
domain = kzalloc(sizeof(*domain), GFP_KERNEL);
|
|
||||||
if (!domain)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Force IOMMU v1 page table when iommu=pt and
|
* Force IOMMU v1 page table when iommu=pt and
|
||||||
* when allocating domain for pass-through devices.
|
* when allocating domain for pass-through devices.
|
||||||
|
|
@ -2074,6 +2070,10 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
domain = kzalloc(sizeof(*domain), GFP_KERNEL);
|
||||||
|
if (!domain)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
switch (pgtable) {
|
switch (pgtable) {
|
||||||
case AMD_IOMMU_V1:
|
case AMD_IOMMU_V1:
|
||||||
ret = protection_domain_init_v1(domain, mode);
|
ret = protection_domain_init_v1(domain, mode);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue