* error: ‘target’ may be used uninitialized in arch/mips/net/ebpf_jit.c
@ 2017-09-26 15:13 Matt Redfearn
2017-09-26 16:08 ` David Daney
2017-09-27 8:14 ` Matt Redfearn
0 siblings, 2 replies; 4+ messages in thread
From: Matt Redfearn @ 2017-09-26 15:13 UTC (permalink / raw)
To: David Daney; +Cc: Linux MIPS Mailing List
Hi David,
I see the following compiler error when I turn on CONFIG_MIPS_EBPF_JIT
with v4.13 and v4.14-rc1 (cavium_octeon_defconfig based)
This is with gcc:
gcc version 4.9.2 (Codescape GNU Tools 2016.05-03 for MIPS MTI Linux)
arch/mips/net/ebpf_jit.c: In function ‘build_one_insn’:
arch/mips/net/ebpf_jit.c:1119: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
This appears to have been the case since the ebpf_jit was merged in
b6bd53f9c4e825fca82fe1392157c78443c814ab.
Thanks,
Matt
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: error: ‘target’ may be used uninitialized in arch/mips/net/ebpf_jit.c
2017-09-26 15:13 error: ‘target’ may be used uninitialized in arch/mips/net/ebpf_jit.c Matt Redfearn
@ 2017-09-26 16:08 ` David Daney
2017-09-27 8:14 ` Matt Redfearn
1 sibling, 0 replies; 4+ messages in thread
From: David Daney @ 2017-09-26 16:08 UTC (permalink / raw)
To: Matt Redfearn, David Daney; +Cc: Linux MIPS Mailing List
On 09/26/2017 08:13 AM, Matt Redfearn wrote:
> Hi David,
>
> I see the following compiler error when I turn on CONFIG_MIPS_EBPF_JIT
> with v4.13 and v4.14-rc1 (cavium_octeon_defconfig based)
>
> This is with gcc:
>
> gcc version 4.9.2 (Codescape GNU Tools 2016.05-03 for MIPS MTI Linux)
>
>
I am using a 4.7 based toolchain, and don't see this.
I think it really is initialized, but if you like you could add an
initializer at the top of the function to quiet the compiler.
> arch/mips/net/ebpf_jit.c: In function ‘build_one_insn’:
> arch/mips/net/ebpf_jit.c:1119: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
>
>
> This appears to have been the case since the ebpf_jit was merged in
> b6bd53f9c4e825fca82fe1392157c78443c814ab.
>
> Thanks,
>
> Matt
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] MIPS: bpf: Fix uninitialised target compiler error
@ 2017-09-27 8:14 ` Matt Redfearn
0 siblings, 0 replies; 4+ messages in thread
From: Matt Redfearn @ 2017-09-27 8:14 UTC (permalink / raw)
To: Ralf Baechle, James Hogan
Cc: linux-mips, David Daney, Matt Redfearn, # v4 . 13+,
linux-kernel, David S. Miller, Colin Ian King, Daniel Borkmann
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: Matt Redfearn <matt.redfearn@imgtec.com>
Fixes: b6bd53f9c4e8 ("MIPS: Add missing file for eBPF JIT.")
Cc: <stable@vger.kernel.org> # v4.13+
---
arch/mips/net/ebpf_jit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/net/ebpf_jit.c b/arch/mips/net/ebpf_jit.c
index 7646891c4e9b..01b7a87ea678 100644
--- a/arch/mips/net/ebpf_jit.c
+++ b/arch/mips/net/ebpf_jit.c
@@ -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;
bool need_swap, did_move, cmp_eq;
- unsigned int target;
+ unsigned int target = 0;
u64 t64;
s64 t64s;
int bpf_op = BPF_OP(insn->code);
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH] MIPS: bpf: Fix uninitialised target compiler error
@ 2017-09-27 8:14 ` Matt Redfearn
0 siblings, 0 replies; 4+ messages in thread
From: Matt Redfearn @ 2017-09-27 8:14 UTC (permalink / raw)
To: Ralf Baechle, James Hogan
Cc: linux-mips, David Daney, Matt Redfearn, # v4 . 13+,
linux-kernel, David S. Miller, Colin Ian King, Daniel Borkmann
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: Matt Redfearn <matt.redfearn@imgtec.com>
Fixes: b6bd53f9c4e8 ("MIPS: Add missing file for eBPF JIT.")
Cc: <stable@vger.kernel.org> # v4.13+
---
arch/mips/net/ebpf_jit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/net/ebpf_jit.c b/arch/mips/net/ebpf_jit.c
index 7646891c4e9b..01b7a87ea678 100644
--- a/arch/mips/net/ebpf_jit.c
+++ b/arch/mips/net/ebpf_jit.c
@@ -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;
bool need_swap, did_move, cmp_eq;
- unsigned int target;
+ unsigned int target = 0;
u64 t64;
s64 t64s;
int bpf_op = BPF_OP(insn->code);
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-09-27 8:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-26 15:13 error: ‘target’ may be used uninitialized in arch/mips/net/ebpf_jit.c Matt Redfearn
2017-09-26 16:08 ` David Daney
2017-09-27 8:14 ` [PATCH] MIPS: bpf: Fix uninitialised target compiler error Matt Redfearn
2017-09-27 8:14 ` Matt Redfearn
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.