Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752932AbdHNLRE (ORCPT ); Mon, 14 Aug 2017 07:17:04 -0400 Received: from mout.web.de ([212.227.17.12]:54040 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752342AbdHNLQ7 (ORCPT ); Mon, 14 Aug 2017 07:16:59 -0400 Subject: [PATCH 2/2] zpool: Use common error handling code in zpool_create_pool() From: SF Markus Elfring To: linux-mm@kvack.org, Dan Streetman Cc: LKML , kernel-janitors@vger.kernel.org References: <0fec59a9-ac68-33f6-533a-adfb5fa3c380@users.sourceforge.net> Message-ID: <54351127-7222-c578-10f7-ee0dbf8f7879@users.sourceforge.net> Date: Mon, 14 Aug 2017 13:16:55 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <0fec59a9-ac68-33f6-533a-adfb5fa3c380@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:YxOKgGlLQwus0XCcS4sYPVKUyGFnAhvw6zniDNA5fQs1I8W4z69 yrFxsByhdrtoI+kOIyrQbeEAPm7zvH9rJhRBfZv0dVih0BwqhRmxCIYlVzRdbqahMcADHpR r8E8J5Bb8URLhEy3gzEheGwWBDEJsmpmlVAALOhpSDsG1PORBx6yQ3oUOig447UZiDdx4Nl AjyM21BuYqBkrOD6znZsA== X-UI-Out-Filterresults: notjunk:1;V01:K0:XqiiCYrFHw4=:i6kjk6BzRVc5qCCfNxDSE1 csBamEa91xbPDFC+bpGdDbi8m559+3zbzvQ50kPh4cLwHnfrIbPs1vF+a82O8nB2+H4CgF/vv TCn2eCl/af46Vutn82Ho+jupLd7fwK2A7MAH1HI4E0ZYuqDklQ+Bn+v2zehDkoWs7kPwrCKCb GacsLxx4GHgFhCfiaquk8xDFfO2vnb/FI+CUIPlrp38OtoI0NOSxlQB1t9kbcnmcPsATGIhYf 8ZwQR1UKdjrwN3LgKEnRTQFE9cpwrhyb4COq7wNYPSg6JPxWQ/AL2VeTxvzMflRnEAZKb4CXo UMkRbQto0aUDgKjd9zDTFIw2XVlr8wXQnw+uBxahvKoOaYxvgW61Gm4MorsVQJwwkZHDqUs/I EqgOXZD/390h1tjwpGj6TMFpMlb57lWFl5nOjPRJjwRl4IViodIJABgc1MC35O5znlR0/sBdy wXoOh43z0EeIXCF3OiNMOVC++7WEmTGpe4Pmfb4ENIOv5U2W9rpHQ5qaZfaz7eS1HtYWE+ap5 IskbO8Si2Gi+TMLTP7j+NHPHA1EfLrU1QMbqIcjAsXeDIT0Vq8Xc87x+UGnff/Sna1VPoUFCJ +IDB6YdTd6n5kW1XXec00gLJYt6MlA/kNnslWz86r621VOHyEznnGiCgDR8+vir5ZRAuPGybr 1RXnxWA79sQhi1y23KfrQs+3dDVA+bfVlFteFxLg+gliT4Tsf6ZDoLzNWt67T0lnBWp7bM8jS xbIP3KTIEPqrms80L66ouAAwxDnMKb9z5IIXdtkYyQZ4aVfsh+qcCX+2h7EXng/9dmQyAl/3R goQKNRPRVbUqIsmtjlUiMoOabGHoB4kc7zx3ZGG2CId6PxPaV8= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1057 Lines: 41 From: Markus Elfring Date: Mon, 14 Aug 2017 13:04:33 +0200 Add a jump target so that a bit of exception handling can be better reused in this function. Signed-off-by: Markus Elfring --- mm/zpool.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mm/zpool.c b/mm/zpool.c index fe1943f7d844..e4634edef86d 100644 --- a/mm/zpool.c +++ b/mm/zpool.c @@ -171,10 +171,8 @@ struct zpool *zpool_create_pool(const char *type, const char *name, gfp_t gfp, } zpool = kmalloc(sizeof(*zpool), gfp); - if (!zpool) { - zpool_put_driver(driver); - return NULL; - } + if (!zpool) + goto put_driver; zpool->driver = driver; zpool->pool = driver->create(name, gfp, ops, zpool); @@ -182,8 +180,9 @@ struct zpool *zpool_create_pool(const char *type, const char *name, gfp_t gfp, if (!zpool->pool) { pr_err("couldn't create %s pool\n", type); - zpool_put_driver(driver); kfree(zpool); +put_driver: + zpool_put_driver(driver); return NULL; } -- 2.14.0