selftests: bpf: break up test_verifier
Break up the first 10 kLoC of test verifier test cases out into smaller files. Looks like git line counting gets a little flismy above 16 bit integers, so we need two commits to break up test_verifier. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Jiong Wang <jiong.wang@netronome.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:

committed by
Alexei Starovoitov

parent
2dfb40121e
commit
40f2fbd5a5
70
tools/testing/selftests/bpf/verifier/cfg.c
Normal file
70
tools/testing/selftests/bpf/verifier/cfg.c
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"unreachable",
|
||||
.insns = {
|
||||
BPF_EXIT_INSN(),
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.errstr = "unreachable",
|
||||
.result = REJECT,
|
||||
},
|
||||
{
|
||||
"unreachable2",
|
||||
.insns = {
|
||||
BPF_JMP_IMM(BPF_JA, 0, 0, 1),
|
||||
BPF_JMP_IMM(BPF_JA, 0, 0, 0),
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.errstr = "unreachable",
|
||||
.result = REJECT,
|
||||
},
|
||||
{
|
||||
"out of range jump",
|
||||
.insns = {
|
||||
BPF_JMP_IMM(BPF_JA, 0, 0, 1),
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.errstr = "jump out of range",
|
||||
.result = REJECT,
|
||||
},
|
||||
{
|
||||
"out of range jump2",
|
||||
.insns = {
|
||||
BPF_JMP_IMM(BPF_JA, 0, 0, -2),
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.errstr = "jump out of range",
|
||||
.result = REJECT,
|
||||
},
|
||||
{
|
||||
"loop (back-edge)",
|
||||
.insns = {
|
||||
BPF_JMP_IMM(BPF_JA, 0, 0, -1),
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.errstr = "back-edge",
|
||||
.result = REJECT,
|
||||
},
|
||||
{
|
||||
"loop2 (back-edge)",
|
||||
.insns = {
|
||||
BPF_MOV64_REG(BPF_REG_1, BPF_REG_0),
|
||||
BPF_MOV64_REG(BPF_REG_2, BPF_REG_0),
|
||||
BPF_MOV64_REG(BPF_REG_3, BPF_REG_0),
|
||||
BPF_JMP_IMM(BPF_JA, 0, 0, -4),
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.errstr = "back-edge",
|
||||
.result = REJECT,
|
||||
},
|
||||
{
|
||||
"conditional loop",
|
||||
.insns = {
|
||||
BPF_MOV64_REG(BPF_REG_1, BPF_REG_0),
|
||||
BPF_MOV64_REG(BPF_REG_2, BPF_REG_0),
|
||||
BPF_MOV64_REG(BPF_REG_3, BPF_REG_0),
|
||||
BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, -3),
|
||||
BPF_EXIT_INSN(),
|
||||
},
|
||||
.errstr = "back-edge",
|
||||
.result = REJECT,
|
||||
},
|
Reference in New Issue
Block a user