From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752784AbdKHVei (ORCPT ); Wed, 8 Nov 2017 16:34:38 -0500 Received: from mout.web.de ([212.227.17.11]:63620 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752503AbdKHVeg (ORCPT ); Wed, 8 Nov 2017 16:34:36 -0500 Subject: [PATCH 1/2] tipc: Use common error handling code in tipc_server_start() From: SF Markus Elfring To: tipc-discussion@lists.sourceforge.net, netdev@vger.kernel.org, "David S. Miller" , Jon Maloy , Ying Xue Cc: LKML , kernel-janitors@vger.kernel.org References: <25790616-164d-fe3e-bda4-3155299a8171@users.sourceforge.net> Message-ID: <30323180-d194-1af1-892f-58fef0a7b6db@users.sourceforge.net> Date: Wed, 8 Nov 2017 22:34:16 +0100 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: <25790616-164d-fe3e-bda4-3155299a8171@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:tY/X45WkVH6RP0U3qhRMeRq71bJA9heMjZfGk7CTZovSxS0MvUO vRrFQyMo4Wb2uZHWfQAuSi/BXC+WTbGLQHXJVQaTM/Ty93uYEjp+WxJlzcDBPQ2qC6lbGAD UI0SSlZVu5Lg9JEVeblsTzRw3O2wVpXgEL2RUE9af5Lad4fKN6jv9ETKQEZmwzL5MpZ0K8T KIw/OPGCG0HQbEBfx5KRQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:dMPmjiBcITM=:QtbUXioYjXNf3X8nw808Hn aAME0Mz1zRFPNpD8y0UCo8GYb9CY4bX00j2kNlcJkdMm2Asu6K8DkphFH9yMQ2NH5fsuep5P7 qPDIOaDTi7viuRtYlPlr/yWzbGdFE43N8sutMFNIweNiQ05jY6brUkjcipSeLxW6vMSyNl0v7 RGBKoI3WrYxnaihklKrGeUxZRAPh9N79OeiBE3PMuGy0NwWNUC4wOhFzuwSVGM8fit+EBl2y1 sChTVx3MSQo3Y4gQmRYk+nVXRwPh2Y6OwckQcfm/mUMd8HydnwvZ8m4o+u07H/i3N/XKV4twF 3P5KwL0grNL0BH12dj1E2sjbOLgrCMDV5g1EjI7okkd/MSzrAJYnRrRKrxAHSH/tg2pXhLuw5 LnIEZi/LUiZsKPjM+HWCuxhfZ1hp2ryTk928qR+dWZQUaYNQ0fy5nJgrwOt4AWRJees4Y+sKV EB6dEOnT8kXB3o5EKyVZ9bsw3/lKZrhoYqANjk9c35kw8XfgAhAiMJ5542rBaFP/k4rkmdHZS Wrd/vHLcO6wMunN0c3QrEDqAIj1Z7xnPUBmquwU4EFb1AX4VSVe5XqL1Mjl0miHtQsAj4/dZY upe34OLjKXXADiYTqQ+6AUKwEP9Xw7inCqJPhKsJ7bFGhy+jX1vrmwwdY9ltt3vsrzkyoW/lq 0EWH8NBCL0z5z0xMdVf4nbG6+EEs+lcovX2VWI/f39KgGdNjEt5d6gaCgcb+Zy7S+2rq4TjgO rrZUuSqEFzU9AI+GKPP6ZkMUIkAjr215UR1ye31K+0L9XeCDdTfvrJkx6SJn9sIKw1lLGSugb VDoOlpYWx5x0bx2etj1Pjivca9Mw2MJ2mkMrVLOPDjVifGiXRs= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Wed, 8 Nov 2017 22:18:35 +0100 * Improve jump targets so that a bit of exception handling can be better reused at the end of this function. * Adjust two condition checks. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- net/tipc/server.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/net/tipc/server.c b/net/tipc/server.c index acaef80fb88c..7359d37e39cd 100644 --- a/net/tipc/server.c +++ b/net/tipc/server.c @@ -670,16 +670,19 @@ int tipc_server_start(struct tipc_server *s) return -ENOMEM; ret = tipc_work_start(s); - if (ret < 0) { - kmem_cache_destroy(s->rcvbuf_cache); - return ret; - } + if (ret) + goto destroy_cache; + ret = tipc_open_listening_sock(s); - if (ret < 0) { - tipc_work_stop(s); - kmem_cache_destroy(s->rcvbuf_cache); - return ret; - } + if (ret) + goto stop_work; + + return 0; + +stop_work: + tipc_work_stop(s); +destroy_cache: + kmem_cache_destroy(s->rcvbuf_cache); return ret; } -- 2.15.0