From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Subject: [PATCH 08/10] staging/irda/net: Use common error handling code in irias_new_object() Date: Thu, 12 Oct 2017 12:48:03 +0200 Message-ID: References: <8152401b-d68d-c4fe-2619-82a09e0c52ec@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: LKML , kernel-janitors@vger.kernel.org To: devel@driverdev.osuosl.org, netdev@vger.kernel.org, Al Viro , Corentin Labbe , David Howells , "David S. Miller" , Georgiana Chelu , Greg Kroah-Hartman , Johannes Berg , Julia Lawall , Samuel Ortiz , Srishti Sharma , Stephen Hemminger , Yuan Linyu Return-path: In-Reply-To: <8152401b-d68d-c4fe-2619-82a09e0c52ec@users.sourceforge.net> Content-Language: en-GB Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org From: Markus Elfring Date: Thu, 12 Oct 2017 08:52:53 +0200 Add a jump target so that a bit of exception handling can be better reused at the end of this function. Signed-off-by: Markus Elfring --- drivers/staging/irda/net/irias_object.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/staging/irda/net/irias_object.c b/drivers/staging/irda/net/irias_object.c index 4c2c65e28836..0c89800d597d 100644 --- a/drivers/staging/irda/net/irias_object.c +++ b/drivers/staging/irda/net/irias_object.c @@ -54,10 +54,9 @@ struct ias_object *irias_new_object( char *name, int id) obj->magic = IAS_OBJECT_MAGIC; obj->name = kstrndup(name, IAS_MAX_CLASSNAME, GFP_ATOMIC); - if (!obj->name) { - kfree(obj); - return NULL; - } + if (!obj->name) + goto free_object; + obj->id = id; /* Locking notes : the attrib spinlock has lower precendence @@ -68,11 +67,14 @@ struct ias_object *irias_new_object( char *name, int id) net_warn_ratelimited("%s(), Unable to allocate attribs!\n", __func__); kfree(obj->name); - kfree(obj); - return NULL; + goto free_object; } return obj; + +free_object: + kfree(obj); + return NULL; } EXPORT_SYMBOL(irias_new_object); -- 2.14.2