aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/samples/bpf/sockex2_kern.c
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@fb.com>2016-11-22 16:52:08 -0800
committerDavid S. Miller <davem@davemloft.net>2016-11-24 16:04:52 -0500
commitd2b024d32d6e6f704633a8a474bd883cf9e25254 (patch)
tree94f9aacde15016c8541a2da9067d751db4ca9c71 /samples/bpf/sockex2_kern.c
parentmlx4: reorganize struct mlx4_en_tx_ring (diff)
downloadwireguard-linux-d2b024d32d6e6f704633a8a474bd883cf9e25254.tar.xz
wireguard-linux-d2b024d32d6e6f704633a8a474bd883cf9e25254.zip
samples/bpf: fix sockex2 example
since llvm commit "Do not expand UNDEF SDNode during insn selection lowering" llvm will generate code that uses uninitialized registers for cases where C code is actually uses uninitialized data. So this sockex2 example is technically broken. Fix it by initializing on the stack variable fully. Also increase verifier buffer limit, since verifier output may not fit in 64k for this sockex2 code depending on llvm version. Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'samples/bpf/sockex2_kern.c')
-rw-r--r--samples/bpf/sockex2_kern.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/samples/bpf/sockex2_kern.c b/samples/bpf/sockex2_kern.c
index 44e5846c988f..f58acfc92556 100644
--- a/samples/bpf/sockex2_kern.c
+++ b/samples/bpf/sockex2_kern.c
@@ -198,7 +198,7 @@ struct bpf_map_def SEC("maps") hash_map = {
SEC("socket2")
int bpf_prog2(struct __sk_buff *skb)
{
- struct bpf_flow_keys flow;
+ struct bpf_flow_keys flow = {};
struct pair *value;
u32 key;