From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754362AbcICQjL (ORCPT ); Sat, 3 Sep 2016 12:39:11 -0400 Received: from mout.web.de ([212.227.17.11]:49632 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753296AbcICQjJ (ORCPT ); Sat, 3 Sep 2016 12:39:09 -0400 Subject: [PATCH 2/4] sparc: bpf_jit: Move four assignments in bpf_jit_compile() To: sparclinux@vger.kernel.org, Adam Buchbinder , Alexei Starovoitov , Daniel Borkmann , "David S. Miller" , Rabin Vincent References: <566ABCD9.1060404@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Paolo Bonzini From: SF Markus Elfring Message-ID: <2179bf7c-9878-adf7-da97-2746d5aa3d34@users.sourceforge.net> Date: Sat, 3 Sep 2016 18:38:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:rdNtKLeUT3e8mcdSx3NN7zsKY0xFlY1zeC4rsGJavTdEFXd3C/8 bJwBoDK9GuSLQOgnbzvNtGnJu7Juyu947cUo/z0yCN+isb2GYH2QTURmyAOwZvAo9KaBsIb KV7bfXlSAGnrlMj4cBpoKN37QV9Y/tpjdgKsLhDLpsYCsgGcf7d3f1Wb5iVPO/Xa1i4cXkQ 6BDblDA4UN4SVY0QOlHiw== X-UI-Out-Filterresults: notjunk:1;V01:K0:0GtlHyjUB4g=:6CM3H0dXX2NbJIiYebD3Ey mxQUI9V1HMGr4Num7u+0FaAlJgIlmQneEhWrJwzhgAKb9Fvm9ChqZFrQCkNCjlC58bVPP+DUc SDTjqUq01rkmFeDbaNSrgYvlxvh4sqYoeyzdBQBQPxb7d3+RR/2yXD2403Ad5OzzKPkdxQaRV K7s6nQ8dd9akmGPbguQkPdFvwXk6YQZESw1Pdb+NuiNNGHRE/87RTizOr+N7tfgy1LOIcxPk5 PN1lgMjdSNzGF+0VVqRqEkWapoW9SiS7UXdKuLs0XbF8BS9aifdeFj11YRB/N6VbUrRPDtoTG JZf2q/dWOtzWoBVbHz2KRQWAQ9T9iEeQ26M0U8yb9aTPu2ZAlwcjkWa6y8JPnIdHoz6Ze1cB0 +fXTzXtlQXBh3sUPaCKySgcB2pOfalTldxn/IMUyXuJU04Dn/e513HACnc7k9gLRa/lhRMndL bengb0n+43Cyf6VuQAN0KsCxF5wW/O7OQBKf089KGQ0ic2IWBDcVdS7jHlk3PkfyOqRRTzwmV Ou/dqt1/4RRS50mAd3rcxwAL3eZ0ul8wj697SPR96/ZzPCGXz93UxyaRidjnPDE5lDW/dGHhu r2E71CCUvmbecIBOyTmYaIGidFJqs2hUO8YIXWN+8NiO7Zx/u/1QBe6sGnVzI5qPYQQ6/Cf8g r2kTqFuQz2w7Zgvl6BwfOc9/9onCt0fcaCHyFCvQ1elB6+JzWYNu63Sxzlz/EGbe5IwY9hCfr NgdYcjXWqeWaqCezpOTfwXnCNju/67RermJ2HPfAG7jsg4t1SbD0i4j+PmCao2CLg7t+o5ZJR Ddmd2qM Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sat, 3 Sep 2016 17:45:28 +0200 Move the assignments for four local variables a bit at the beginning so that they will only be performed if a corresponding memory allocation succeeded by this function. Signed-off-by: Markus Elfring --- arch/sparc/net/bpf_jit_comp.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/arch/sparc/net/bpf_jit_comp.c b/arch/sparc/net/bpf_jit_comp.c index ced1393..a927470 100644 --- a/arch/sparc/net/bpf_jit_comp.c +++ b/arch/sparc/net/bpf_jit_comp.c @@ -362,10 +362,10 @@ do { *prog++ = BR_OPC | WDISP22(OFF); \ void bpf_jit_compile(struct bpf_prog *fp) { - unsigned int cleanup_addr, proglen, oldproglen = 0; - u32 temp[8], *prog, *func, seen = 0, pass; - const struct sock_filter *filter = fp->insns; - int i, flen = fp->len, pc_ret0 = -1; + unsigned int cleanup_addr, proglen, oldproglen; + u32 temp[8], *prog, *func, seen, pass; + const struct sock_filter *filter; + int i, flen = fp->len, pc_ret0; unsigned int *addrs; void *image; @@ -385,6 +385,10 @@ void bpf_jit_compile(struct bpf_prog *fp) } cleanup_addr = proglen; /* epilogue address */ image = NULL; + filter = fp->insns; + oldproglen = 0; + pc_ret0 = -1; + seen = 0; for (pass = 0; pass < 10; pass++) { u8 seen_or_pass0 = (pass == 0) ? (SEEN_XREG | SEEN_DATAREF | SEEN_MEM) : seen; -- 2.9.3