From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Date: Sat, 03 Sep 2016 16:38:03 +0000 Subject: [PATCH 2/4] sparc: bpf_jit: Move four assignments in bpf_jit_compile() Message-Id: <2179bf7c-9878-adf7-da97-2746d5aa3d34@users.sourceforge.net> List-Id: References: <566ABCD9.1060404@users.sourceforge.net> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: sparclinux@vger.kernel.org, Adam Buchbinder , Alexei Starovoitov , Daniel Borkmann , "David S. Miller" , Rabin Vincent Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Paolo Bonzini 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