free memory of domain before return NULL.
Fixes: 29f54745f245 ("iommu/amd: Add missing domain type checks")
Signed-off-by: Su Hui <[email protected]>
---
drivers/iommu/amd/iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
index dc1ec6849775..f08e65629c74 100644
--- a/drivers/iommu/amd/iommu.c
+++ b/drivers/iommu/amd/iommu.c
@@ -2094,7 +2094,7 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
} else if (type == IOMMU_DOMAIN_DMA || type == IOMMU_DOMAIN_DMA_FQ) {
pgtable = amd_iommu_pgtable;
} else {
- return NULL;
+ goto out_err;
}
switch (pgtable) {
--
2.30.2
On 6/6/2023 12:37 PM, Su Hui wrote:
> free memory of domain before return NULL.
>
> Fixes: 29f54745f245 ("iommu/amd: Add missing domain type checks")
> Signed-off-by: Su Hui <[email protected]>
Reviewed-by: Vasant Hegde <[email protected]>
-Vasant
> ---
> drivers/iommu/amd/iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
> index dc1ec6849775..f08e65629c74 100644
> --- a/drivers/iommu/amd/iommu.c
> +++ b/drivers/iommu/amd/iommu.c
> @@ -2094,7 +2094,7 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
> } else if (type == IOMMU_DOMAIN_DMA || type == IOMMU_DOMAIN_DMA_FQ) {
> pgtable = amd_iommu_pgtable;
> } else {
> - return NULL;
> + goto out_err;
> }
>
> switch (pgtable) {
Jason,
On 6/7/2023 7:52 PM, Jason Gunthorpe wrote:
> On Tue, Jun 06, 2023 at 03:07:42PM +0800, Su Hui wrote:
>> free memory of domain before return NULL.
>>
>> Fixes: 29f54745f245 ("iommu/amd: Add missing domain type checks")
>> Signed-off-by: Su Hui <[email protected]>
>> ---
>> drivers/iommu/amd/iommu.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
>> index dc1ec6849775..f08e65629c74 100644
>> --- a/drivers/iommu/amd/iommu.c
>> +++ b/drivers/iommu/amd/iommu.c
>> @@ -2094,7 +2094,7 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
>> } else if (type == IOMMU_DOMAIN_DMA || type == IOMMU_DOMAIN_DMA_FQ) {
>> pgtable = amd_iommu_pgtable;
>> } else {
>> - return NULL;
>> + goto out_err;
>> }
>
> It might be nicer to order to allocation after the type checks, it is
> more consistent with the other drivers
>
> This is fine too
Right. We are working on cleaning up/re-arranging this code path.
Hopefully I will have patches soon.
-Vasant
On Tue, Jun 06, 2023 at 03:07:42PM +0800, Su Hui wrote:
> free memory of domain before return NULL.
>
> Fixes: 29f54745f245 ("iommu/amd: Add missing domain type checks")
> Signed-off-by: Su Hui <[email protected]>
> ---
> drivers/iommu/amd/iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c
> index dc1ec6849775..f08e65629c74 100644
> --- a/drivers/iommu/amd/iommu.c
> +++ b/drivers/iommu/amd/iommu.c
> @@ -2094,7 +2094,7 @@ static struct protection_domain *protection_domain_alloc(unsigned int type)
> } else if (type == IOMMU_DOMAIN_DMA || type == IOMMU_DOMAIN_DMA_FQ) {
> pgtable = amd_iommu_pgtable;
> } else {
> - return NULL;
> + goto out_err;
> }
It might be nicer to order to allocation after the type checks, it is
more consistent with the other drivers
This is fine too
Reviewed-by: Jason Gunthorpe <[email protected]>
Thanks,
Jason