From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752624AbdKHUgl (ORCPT ); Wed, 8 Nov 2017 15:36:41 -0500 Received: from mout.web.de ([212.227.17.12]:56802 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751770AbdKHUgj (ORCPT ); Wed, 8 Nov 2017 15:36:39 -0500 Subject: [PATCH 1/2] net/sched/cls_tcindex: Use common error handling code in tcindex_set_parms() From: SF Markus Elfring To: netdev@vger.kernel.org, Cong Wang , "David S. Miller" , Jamal Hadi Salim , Jiri Pirko Cc: LKML , kernel-janitors@vger.kernel.org References: <7192a5ea-b712-6bec-5d9d-01906218d404@users.sourceforge.net> Message-ID: <06aa98d8-ef38-43b3-abda-c2c6713cda7c@users.sourceforge.net> Date: Wed, 8 Nov 2017 21:36:26 +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: <7192a5ea-b712-6bec-5d9d-01906218d404@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:QWOaJxfc7jDRGUyvOi0LQBP2aeI4whieFX3iyxmBj/8zPGtAUmD uPlfUCJ3aAgWd/5p9ivqjxZdXky1Tps1T5ZJDSCOffDZG+IOF/CD8ISiYExp+R7/A+bKFDI cdqnxu3O2oaGNcB2zPKlr06+mtaQJYm6InJ3xUKe3P2w0hlEIr1c16KZW8/7Ju20LE9PpTv hq3ArVHmiyn3PJWSplsdQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:YqstmvzH/Ts=:j/dwsYsg2IoMgaHE8pTtog zLqHo8TTfvnMAWRinGyKpxyTExcTo7OASctV18fPuzmj1dtRCoNJCk79LB0VG3dH7qES3Fbli 24G3CKOy2YZgTHN67Jk3tb6Q24JGqLmSBIkgkPXfiElamZDzHL7yJ/NiYvkjixRG87l2R3Cie kIApLXylwg6snAovDZO8C3fQhiGJkuF9UlNsaD5+rHOaRiaytjjzEQd/GvWNQ9vlzVyo06roA I6XGLyI0GvL9th/UJ3x76hUPUjvenBxvBNIRiDwaA94GXbcN2YQxNfAemDqMGgWKyCo82Wegc ugAAr1T7nkoC3TctorUQbP5cAB12h8vYmfsd3TXc0dIhfIVmm/8P/3PWGKCM5bMuqteRBLMTd SBiol1Q+c1M7ADer3Zjoeiu2D4W1rS5T6VZNUhgf6M0R2L2x5KTg0tUIhOS04LhOM2EU3xvg1 336ctTTFQJi1d3sHNar1TqJBU1DPTYU+EaTykdUslNrCZGC0YTMpUWQODtEjWd8hpssTrWNU5 +jS9qNJDsU3tno6zQWcvAqptTlZ9xT4RToHwXIZpxs/yhVvdMX0aaQsJ8CxTaH77s+w8F8XZT ACGkLylLzro0tuKCtZm8g/dwZXQS8U5pcbnCsNWNjtPMkhmmYAwVE6fz2vakycQw/6306D8+9 fpjyg1xheScizsBd5+m8111eJZ7wWKbahaqe+5t8jN7zUh2K6SqbmsOoJELAsfXI7wj0n/zXE OCnUtY8tifioO5sGXlgVRhtTet9wo672swgbO9m5w+w8cLKVlXW1RB5Sv7ZS5fRQG66j31Gxx AdLmd0IhAt36qixzDhJy2JZVr2HJNY1ujTvhFH+C1F6red0Rog= 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 21:10:49 +0100 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 --- net/sched/cls_tcindex.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c index d6abfa6757f2..24f05bc09084 100644 --- a/net/sched/cls_tcindex.c +++ b/net/sched/cls_tcindex.c @@ -437,10 +437,8 @@ tcindex_set_parms(struct net *net, struct tcf_proto *tp, unsigned long base, f->key = handle; f->next = NULL; err = tcindex_filter_result_init(&f->result); - if (err < 0) { - kfree(f); - goto errout_alloc; - } + if (err < 0) + goto err_free_filter; } if (tb[TCA_TCINDEX_CLASSID]) { @@ -455,10 +453,8 @@ tcindex_set_parms(struct net *net, struct tcf_proto *tp, unsigned long base, if (old_r && old_r != r) { err = tcindex_filter_result_init(old_r); - if (err < 0) { - kfree(f); - goto errout_alloc; - } + if (err < 0) + goto err_free_filter; } oldp = p; @@ -484,6 +480,8 @@ tcindex_set_parms(struct net *net, struct tcf_proto *tp, unsigned long base, call_rcu(&oldp->rcu, __tcindex_partial_destroy); return 0; +err_free_filter: + kfree(f); errout_alloc: if (balloc == 1) tcindex_free_perfect_hash(cp); -- 2.15.0