summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMaxim Mikityanskiy <maximmi@nvidia.com>2021-12-07 10:15:21 +0200
committerDaniel Borkmann <daniel@iogearbox.net>2021-12-08 15:42:26 +0100
commitb560b21f71eb4ef9dfc7c8ec1d0e4d7f9aa54b51 (patch)
tree8c85f471ae631a658456b9956decef18bdd9a507 /include
parent2fa7d94afc1afbb4d702760c058dc2d7ed30f226 (diff)
bpf: Add selftests to cover packet access corner cases
This commit adds BPF verifier selftests that cover all corner cases by packet boundary checks. Specifically, 8-byte packet reads are tested at the beginning of data and at the beginning of data_meta, using all kinds of boundary checks (all comparison operators: <, >, <=, >=; both permutations of operands: data + length compared to end, end compared to data + length). For each case there are three tests: 1. Length is just enough for an 8-byte read. Length is either 7 or 8, depending on the comparison. 2. Length is increased by 1 - should still pass the verifier. These cases are useful, because they failed before commit 2fa7d94afc1a ("bpf: Fix the off-by-two error in range markings"). 3. Length is decreased by 1 - should be rejected by the verifier. Some existing tests are just renamed to avoid duplication. Signed-off-by: Maxim Mikityanskiy <maximmi@nvidia.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/bpf/20211207081521.41923-1-maximmi@nvidia.com
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions