Commit 94c3390a authored by Matt Redfearn's avatar Matt Redfearn Committed by Ralf Baechle

MIPS: bpf: Fix uninitialised target compiler error

Compiling ebpf_jit.c with gcc 4.9 results in a (likely spurious)
compiler warning, as gcc has detected that the variable "target" may be
used uninitialised. Since -Werror is active, this is treated as an error
and causes a kernel build failure whenever CONFIG_MIPS_EBPF_JIT is
enabled.

arch/mips/net/ebpf_jit.c: In function 'build_one_insn':
arch/mips/net/ebpf_jit.c:1118:80: error: 'target' may be used
uninitialized in this function [-Werror=maybe-uninitialized]
    emit_instr(ctx, j, target);
                                                                                ^
cc1: all warnings being treated as errors

Fix this by initialising "target" to 0. If it really is used
uninitialised this would result in a jump to 0 and a detectable run time
failure.
Signed-off-by: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
Fixes: b6bd53f9 ("MIPS: Add missing file for eBPF JIT.")
Cc: James Hogan <james.hogan@imgtec.com>
Cc: David Daney <david.daney@cavium.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Colin Ian King <colin.king@canonical.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: <stable@vger.kernel.org> # v4.13+
Patchwork: https://patchwork.linux-mips.org/patch/17375/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 8a5776a5
...@@ -667,7 +667,7 @@ static int build_one_insn(const struct bpf_insn *insn, struct jit_ctx *ctx, ...@@ -667,7 +667,7 @@ static int build_one_insn(const struct bpf_insn *insn, struct jit_ctx *ctx,
{ {
int src, dst, r, td, ts, mem_off, b_off; int src, dst, r, td, ts, mem_off, b_off;
bool need_swap, did_move, cmp_eq; bool need_swap, did_move, cmp_eq;
unsigned int target; unsigned int target = 0;
u64 t64; u64 t64;
s64 t64s; s64 t64s;
int bpf_op = BPF_OP(insn->code); int bpf_op = BPF_OP(insn->code);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment