From patchwork Wed Oct 18 19:27:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 827792 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yHMZR0Rmzz9t7W for ; Thu, 19 Oct 2017 06:29:35 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3yHMZQ6XzbzDqG6 for ; Thu, 19 Oct 2017 06:29:34 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=users.sourceforge.net (client-ip=212.227.17.12; helo=mout.web.de; envelope-from=elfring@users.sourceforge.net; receiver=) Received: from mout.web.de (mout.web.de [212.227.17.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3yHMYG12glzDq5x for ; Thu, 19 Oct 2017 06:28:33 +1100 (AEDT) Received: from [192.168.1.2] ([77.181.46.217]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0Lw0ht-1dARLz3mDl-017lam; Wed, 18 Oct 2017 21:28:03 +0200 Subject: [PATCH 5/5] powerpc-pseries: Less function calls in iommu_pseries_alloc_group() after error detection From: SF Markus Elfring To: linuxppc-dev@lists.ozlabs.org, Alex Williamson , Alexey Kardashevskiy , Andrew Morton , Bart Van Assche , Benjamin Herrenschmidt , David Gibson , Doug Ledford , Greg Kroah-Hartman , Johan Hovold , Masahiro Yamada , Michael Ellerman , Nathan Fontenot , Paul Mackerras , Rob Herring , Sahil Mehta , Tyrel Datwyler References: <0d221be4-1402-0499-d95e-afa4a30e1f33@users.sourceforge.net> Message-ID: <45cdde43-075d-10c0-ab34-1ce1aa4dfa17@users.sourceforge.net> Date: Wed, 18 Oct 2017 21:27:57 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <0d221be4-1402-0499-d95e-afa4a30e1f33@users.sourceforge.net> Content-Language: en-GB X-Provags-ID: V03:K0:XKZ1g09phOUuy/9yCBphnrnQnHdZy3LvR1wuUysXM8nlplJ3jGf WaRt6wwI1kNkerCXBuZ9Mmv9vhKgMSq/nwYCxg7zaFwCMbdzVniukkD+v+JwU3AKs3oNCnX oATk5gmeIUBfJItIAWVmTIxf6Dut4nbyueXQvBjuThhrcGVUatNzLqtudM9jbILy0s4z/Df REm4+0xCKeCb/+llzZ6WQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:WETUOQ7UZFU=:UWv+QoAO78+PK2QgiEg3bj QIY/bAf+NM9pcOUWFquCvBpDabN9jNFLCN/E5RayFs8SoipuZHjjwsUke9CI3x1F7/NKCTnFi bwgqWxM7itoz4C8agTK2Jjib1/KimqWVbuEIfaHfg+7txnqiHuZmULRlRf88Plu2Pn2fnXJGP vSZyEPj8FuWLahYwQpFtGxIJH2AW+02DmCaoebLkqfK1k9OWaJ+dHxJwk/tRTMlntSpJG/zJ4 plpM2voyaHCpaxUlkaAtzkT770asUBqJxrHzMl+vQJgM41OJhKWYw4eAyRxGO4vqNYUUWRTMg yPUbFdOqNc8n9koSNytoW6EsbiQeNwu1HN4ib9G2Gz5Cq9AavnPQQKq6VCF1sYdaAdUgJiugA sfNs9+2AAVoFI6plN8XK05zIdE2wthOdV50cMCoVfCRm8LLDdf9tT3/qhpUC8LCUgOqHNeCKe prT2RbL5SiQdCJXbDwTOpaBfYG9L3MtIQM2p95OOu7wjgxIbkNIuc+XIKjU857WI1FMM+bR6y mcxUc0aceACuQnoUVZakTCzSAzufmfnAuWqPN39X9yjqGeVp5YM6ck00KIyEeB8cAcCCo6meB Zh93+swqc0MmWWQ+cuSO7u5Qfee5UbN1QnFgZEyKYWl/ErlSoEM4i7C/UfeAC1X0iwy2tOFAK G0po1b3uZh6kNK1KDof5L/Bqa1fFAV3haN6VE76TzrfPhEHiOYbRxUfhBWoJpszOzaAgm5i3K D7hv4MGzvLoREVjJN7jfT6ExOT6VjVORNahSFY282Sb8zMYcwteNPibS6GzLA3Beg06YOqpzN TpEOsSvFR8MkMJQ88lYzjK9dbp4HCMUR3DaCtViKR89rVL/6c0= X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.24 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kernel-janitors@vger.kernel.org, LKML Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Markus Elfring 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 --- 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; }