lkml.org 
[lkml]   [2017]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH 2/2] zpool: Use common error handling code in zpool_create_pool()
From
Date
From: Markus Elfring <elfring@users.sourceforge.net>
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 <elfring@users.sourceforge.net>
---
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
\
 
 \ /
  Last update: 2017-08-14 13:18    [W:0.094 / U:0.496 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site