linux/tools/testing
Alexei Starovoitov b1977682a3 bpf: improve verifier packet range checks
llvm can optimize the 'if (ptr > data_end)' checks to be in the order
slightly different than the original C code which will confuse verifier.
Like:
if (ptr + 16 > data_end)
  return TC_ACT_SHOT;
// may be followed by
if (ptr + 14 > data_end)
  return TC_ACT_SHOT;
while llvm can see that 'ptr' is valid for all 16 bytes,
the verifier could not.
Fix verifier logic to account for such case and add a test.

Reported-by: Huapeng Zhou <hzhou@fb.com>
Fixes: 969bf05eb3 ("bpf: direct packet access")
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-03-24 20:51:28 -07:00
..
fault-injection fault-injection: fix failcmd.sh warning 2012-07-31 18:42:38 -07:00
ktest Greg Kroah-Hartman reported to me that the ktest of v4.10 locked up in an 2017-03-08 11:06:05 -08:00
nvdimm tools/testing/nvdimm: make iset cookie predictable 2017-03-01 00:09:51 -08:00
radix-tree radix tree test suite: Specify -m32 in LDFLAGS too 2017-03-07 13:18:24 -05:00
selftests bpf: improve verifier packet range checks 2017-03-24 20:51:28 -07:00