From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753414AbdJLKsy (ORCPT ); Thu, 12 Oct 2017 06:48:54 -0400 Received: from mout.web.de ([212.227.15.3]:50636 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751350AbdJLKsw (ORCPT ); Thu, 12 Oct 2017 06:48:52 -0400 Subject: [PATCH 08/10] staging/irda/net: Use common error handling code in irias_new_object() From: SF Markus Elfring 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 Cc: LKML , kernel-janitors@vger.kernel.org References: <8152401b-d68d-c4fe-2619-82a09e0c52ec@users.sourceforge.net> Message-ID: Date: Thu, 12 Oct 2017 12:48:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <8152401b-d68d-c4fe-2619-82a09e0c52ec@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:6IvUU0yokDEE00rDVwBvriaZw5gWnqWo8i1dsC2L9Tu56hqRhHS asKS1M4Hc2X9sWEkjQQHzgGwse9HP04s9QnMuBBBnlZrOjuXJqUnbCxm+tZcE8gd1qT4sbw 0JiApCTeIoienYfkexfVxF0qzn/vkHVQaV7AbRfNcRYwV+2h+Pol1bdjgALJH50ljkxEMhz 0kMkfavoJwu1N3Nv/Gr+w== X-UI-Out-Filterresults: notjunk:1;V01:K0:YKx5GpF837U=:ANkSxWxRhnknW+g7VQ64j7 ZIo2sN10Ii3+ltEVLID09OwwjfSE5hR6rLkniD2pFQKJAmJc+/+FCqLvF2hKii27ms/1fprrQ 7SfdbbWZ6RMuA21/MhqhRtupy0a1gFaxYBlrpvJ4R9AEeRYyJIsTi12T1Veh9CHwb26AhzuaS ysffsfb3vJIgBQhJPFubFT5hYMjAl7x8dQw70FYRbIwv8crN33k+tinQZw0pYaW8mtkG0Y/Gd YQsQ2VBGPdeHIQxQX2frxo7JIQF0J1/TrZ+lZvEWQV0+9Eji5M8VoRnkbCQZRZVQLHtu7XTHf ezuwdodEDECUfZAUWAV9IrAnRT/fsEj3zyyNWtZGFXNsvnAcOBmAIxl0lkd8HB+WyryYQ9ma2 Tn8RdFEng0uEZpEdsM8gLlsqH62LI4wK95LavB7gvZMtFa5UGZcAInzUTIdGipJ/qpvjx+Zvo Txjmx7XDpLwegTdbtJJOmXIuFQoBNHaJkgl8wKm+J4LWSffegayV8DqKVQaHezkwEt98GzApY 2YjHP6PKnTuXV4ynh1t60Fg2TPxAzst36BthYo6nX6oNoiGQAyxz4PZUqGQZg8iypVql4XcJF sHZNWNs3W8GWXwxOrFDnz0bHXIbfobqq0xVRrfsYcYtG3F69aSdA24M87ZFGY0k0ksQtgmpNM GWhDYXjqvCtc5to2NI38bKpunof4dwOGNivfHdYM9y4THeHaBfe6BOevHbnEEcSno+rWNQWI+ t1Iev9H8l50WBGhceCScagrQlQZ0W0Ra323AOVD5avTA3UM1HU+qXGXI445FmOk0QhG+smrDV /DYB72X31nr7xDzfhR7rf7VgCp4X3E82gRjukgs4EotKoV83wE= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@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