From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Wed, 18 Oct 2017 20:48:52 +0200

The kfree() function was called in up to two cases by the
iommu_pseries_alloc_group() function during error handling
even if the passed variable contained a null pointer.

* Adjust jump targets according to the Linux coding style convention.

* Delete initialisations for the variables "tbl" and "tgl"
  which became unnecessary with this refactoring.

Signed-off-by: Markus Elfring <elfr...@users.sourceforge.net>
---
 arch/powerpc/platforms/pseries/iommu.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/iommu.c 
b/arch/powerpc/platforms/pseries/iommu.c
index 207ff8351af1..13b424f34039 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -56,8 +56,8 @@
 static struct iommu_table_group *iommu_pseries_alloc_group(int node)
 {
        struct iommu_table_group *table_group;
-       struct iommu_table *tbl = NULL;
-       struct iommu_table_group_link *tgl = NULL;
+       struct iommu_table *tbl;
+       struct iommu_table_group_link *tgl;
 
        table_group = kzalloc_node(sizeof(*table_group), GFP_KERNEL, node);
        if (!table_group)
@@ -65,11 +65,11 @@ static struct iommu_table_group 
*iommu_pseries_alloc_group(int node)
 
        tbl = kzalloc_node(sizeof(*tbl), GFP_KERNEL, node);
        if (!tbl)
-               goto fail_exit;
+               goto free_group;
 
        tgl = kzalloc_node(sizeof(*tgl), GFP_KERNEL, node);
        if (!tgl)
-               goto fail_exit;
+               goto free_table;
 
        INIT_LIST_HEAD_RCU(&tbl->it_group_list);
        kref_init(&tbl->it_kref);
@@ -80,11 +80,10 @@ static struct iommu_table_group 
*iommu_pseries_alloc_group(int node)
 
        return table_group;
 
-fail_exit:
-       kfree(tgl);
-       kfree(table_group);
+free_table:
        kfree(tbl);
-
+free_group:
+       kfree(table_group);
        return NULL;
 }
 
-- 
2.14.2

Reply via email to