From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932422AbdJZUkb (ORCPT ); Thu, 26 Oct 2017 16:40:31 -0400 Received: from mout.web.de ([217.72.192.78]:54796 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751533AbdJZUk3 (ORCPT ); Thu, 26 Oct 2017 16:40:29 -0400 To: netdev@vger.kernel.org, Al Viro , "David S. Miller" , Geliang Tang , Johannes Berg , Karsten Keil , Meng Xu , Yuan Linyu From: SF Markus Elfring Subject: [PATCH] isdn_ppp: Use common error handling code in isdn_ppp_receive() Cc: LKML , kernel-janitors@vger.kernel.org Message-ID: Date: Thu, 26 Oct 2017 22:40:04 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:ewU9gQFzAlfx6Vh+h67ZRrUOgyhP4cKaWzAncGKwD9MbW0Isohs AWRY6bzIEiNc3GkLM383AzVgaJNLRYZXwK6oEHQInpEOdLAL8rhUoNx0cgbPktX43KEH/6N 3rGxKJHEprFMTYIpvE8bY+dwlU4bCYL5koBtYHqMhXz9Ncj7Rx3REknLB4UR5fTqWeJ24L5 ooMYGWeQ5GIhRfSH2x/kQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:TsMZ9O4AXkM=:Do8AobMCP6FRZgsWLDDWvI z8R6GuDSBvo9yrIJDEOxVKuCwJ2VndL4DhzWZBQoXjZ+BTgma0raPOofPCA0pVa01nH62zFZ7 nLG+SxXqgVXsQovshfW9ShXe91w77iKYBQsN+U17pzNMAlz6MjgLPU+mIQpO28sl8JkuAe5t4 eb7l+wT/HfTYLq4YBVVUeHGW2uDZDCbGPeHExJ9iQOUxfIAWk0DponRTpWVhGCDJXX6M57se6 EZ1FApGQw7L3yh4DEuTS9PAKvLo/17rKamH7df0KGVmkVKXin0q8UQKG2NwTrXXSf+Hau7XgB jF+FV7PEjgwdbEUgeuHPIpminIg6D3FQmd9XJ3r+STGCU7yjalUo0J/3pAjLngNMRs5hfX5U2 DHNaGSQ/oXPyiUn7/AuMqfPoqSCTRq5BqHDaZzC0IU+baYO8Vel552JGhgnQg5PeUP9megyNE h14PGrimGQxEvM/4Kh1d12fjtCu3cTOpCaHohQP57xxKBvvS0ZDN/6NqHANO/fGsp5PuWzHi9 XdaLsvupmwE18Hr0MIOZ+iebt7ml4T5leAil38Or7ZKHUZ/IktXFOjrVNoWwRZ3UaqKXDnT+i QFRbGb4eSMlxQOMopXnuSdsgyqMEak3fK1cu7mSebpyVwY70OXceJDghFA9lHlMdxm9O+Ufo6 GfKbfQfKpgqaACdNk7JmGqa7tzChHDyUQC34T4kaWYYZcNAvpZwGA0+tMf23+wd3JuxkiF+6x kkFW6FPIJ8cstRecdO4K8N6HPHeEnfVQiHForB05sjxsY3UFSn7Gg1gw7Irw/3ohKR7WJihwb KrPRyjL3yzjYkbwrLUqYmJ5R9kCBKaEofHM7lv7W/smhKJ/yAw= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Thu, 26 Oct 2017 22:30:50 +0200 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/isdn/i4l/isdn_ppp.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/isdn/i4l/isdn_ppp.c b/drivers/isdn/i4l/isdn_ppp.c index cd2b3c69771a..e3348fdde32a 100644 --- a/drivers/isdn/i4l/isdn_ppp.c +++ b/drivers/isdn/i4l/isdn_ppp.c @@ -1017,8 +1017,7 @@ void isdn_ppp_receive(isdn_net_dev *net_dev, isdn_net_local *lp, struct sk_buff if (slot < 0 || slot >= ISDN_MAX_CHANNELS) { printk(KERN_ERR "isdn_ppp_receive: lp->ppp_slot(%d)\n", lp->ppp_slot); - kfree_skb(skb); - return; + goto free_skb; } is = ippp_table[slot]; @@ -1028,15 +1027,12 @@ void isdn_ppp_receive(isdn_net_dev *net_dev, isdn_net_local *lp, struct sk_buff isdn_ppp_frame_log("receive", skb->data, skb->len, 32, is->unit, lp->ppp_slot); } - if (isdn_ppp_skip_ac(is, skb) < 0) { - kfree_skb(skb); - return; - } + if (isdn_ppp_skip_ac(is, skb) < 0) + goto free_skb; + proto = isdn_ppp_strip_proto(skb); - if (proto < 0) { - kfree_skb(skb); - return; - } + if (proto < 0) + goto free_skb; #ifdef CONFIG_ISDN_MPP if (is->compflags & SC_LINK_DECOMP_ON) { @@ -1053,6 +1049,10 @@ void isdn_ppp_receive(isdn_net_dev *net_dev, isdn_net_local *lp, struct sk_buff } #endif isdn_ppp_push_higher(net_dev, lp, skb, proto); + return; + +free_skb: + kfree_skb(skb); } /* -- 2.14.3