On Tue, Nov 26, 2019 at 12:13 PM Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > > Clang warns (trimmed the second warning for brevity): > > ../net/netfilter/nf_flow_table_offload.c:342:2: warning: variable > 'offset' is used uninitialized whenever switch default is taken > [-Wsometimes-uninitialized] > default: > ^~~~~~~ > ../net/netfilter/nf_flow_table_offload.c:346:57: note: uninitialized use > occurs here > flow_offload_mangle(entry, flow_offload_l4proto(flow), offset, > ^~~~~~ > ../net/netfilter/nf_flow_table_offload.c:331:12: note: initialize the > variable 'offset' to silence this warning > u32 offset; > ^ > = 0 > > Match what was done in the flow_offload_ipv{4,6}_{d,s}nat functions and > just return in the default case, since port would also be uninitialized. Thanks for the patch. I have a report of this from kernelci bot, would you mind crediting it: Reported-by: kernelci.org bot <bot@xxxxxxxxxxxx> Looks like `port` is uninitialized (prior to your patch), too. Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> These two functions look identical except for the mask. The maintainers should consider reusing more code between them and passing in the mask. > > Fixes: c29f74e0df7a ("netfilter: nf_flow_table: hardware offload support") > Link: https://github.com/ClangBuiltLinux/linux/issues/780 > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > --- > net/netfilter/nf_flow_table_offload.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/netfilter/nf_flow_table_offload.c b/net/netfilter/nf_flow_table_offload.c > index c54c9a6cc981..a77a6e1cfd64 100644 > --- a/net/netfilter/nf_flow_table_offload.c > +++ b/net/netfilter/nf_flow_table_offload.c > @@ -340,7 +340,7 @@ static void flow_offload_port_snat(struct net *net, > offset = 0; /* offsetof(struct tcphdr, dest); */ > break; > default: > - break; > + return; > } > > flow_offload_mangle(entry, flow_offload_l4proto(flow), offset, > @@ -367,7 +367,7 @@ static void flow_offload_port_dnat(struct net *net, > offset = 0; /* offsetof(struct tcphdr, dest); */ > break; > default: > - break; > + return; > } > > flow_offload_mangle(entry, flow_offload_l4proto(flow), offset, > -- > 2.24.0 > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxx. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20191126201226.51857-1-natechancellor%40gmail.com. -- Thanks, ~Nick Desaulniers