162306a36Sopenharmony_ci{
262306a36Sopenharmony_ci	"jump test 1",
362306a36Sopenharmony_ci	.insns = {
462306a36Sopenharmony_ci	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
562306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_1, -8),
662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
762306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 1),
962306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 1),
1062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 1),
1162306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 2),
1262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 1),
1362306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 3),
1462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 1),
1562306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 4),
1662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
1762306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 5),
1862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
1962306a36Sopenharmony_ci	BPF_EXIT_INSN(),
2062306a36Sopenharmony_ci	},
2162306a36Sopenharmony_ci	.errstr_unpriv = "R1 pointer comparison",
2262306a36Sopenharmony_ci	.result_unpriv = REJECT,
2362306a36Sopenharmony_ci	.result = ACCEPT,
2462306a36Sopenharmony_ci},
2562306a36Sopenharmony_ci{
2662306a36Sopenharmony_ci	"jump test 2",
2762306a36Sopenharmony_ci	.insns = {
2862306a36Sopenharmony_ci	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
2962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 2),
3062306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
3162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 14),
3262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 2),
3362306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 0),
3462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 11),
3562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 2),
3662306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 0),
3762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 8),
3862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 2),
3962306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -40, 0),
4062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 5),
4162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 2),
4262306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -48, 0),
4362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
4462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
4562306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -56, 0),
4662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
4762306a36Sopenharmony_ci	BPF_EXIT_INSN(),
4862306a36Sopenharmony_ci	},
4962306a36Sopenharmony_ci	.errstr_unpriv = "R1 pointer comparison",
5062306a36Sopenharmony_ci	.result_unpriv = REJECT,
5162306a36Sopenharmony_ci	.result = ACCEPT,
5262306a36Sopenharmony_ci},
5362306a36Sopenharmony_ci{
5462306a36Sopenharmony_ci	"jump test 3",
5562306a36Sopenharmony_ci	.insns = {
5662306a36Sopenharmony_ci	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
5762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 3),
5862306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
5962306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
6062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 19),
6162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 3),
6262306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 0),
6362306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
6462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 15),
6562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 3),
6662306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 0),
6762306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -32),
6862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 11),
6962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 3),
7062306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -40, 0),
7162306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -40),
7262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 7),
7362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 3),
7462306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -48, 0),
7562306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -48),
7662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 3),
7762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 0),
7862306a36Sopenharmony_ci	BPF_ST_MEM(BPF_DW, BPF_REG_2, -56, 0),
7962306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -56),
8062306a36Sopenharmony_ci	BPF_LD_MAP_FD(BPF_REG_1, 0),
8162306a36Sopenharmony_ci	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_delete_elem),
8262306a36Sopenharmony_ci	BPF_EXIT_INSN(),
8362306a36Sopenharmony_ci	},
8462306a36Sopenharmony_ci	.fixup_map_hash_8b = { 24 },
8562306a36Sopenharmony_ci	.errstr_unpriv = "R1 pointer comparison",
8662306a36Sopenharmony_ci	.result_unpriv = REJECT,
8762306a36Sopenharmony_ci	.result = ACCEPT,
8862306a36Sopenharmony_ci	.retval = -ENOENT,
8962306a36Sopenharmony_ci},
9062306a36Sopenharmony_ci{
9162306a36Sopenharmony_ci	"jump test 4",
9262306a36Sopenharmony_ci	.insns = {
9362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
9462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
9562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
9662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
9762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
9862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
9962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
10062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
10162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
10262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
10362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
10462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
10562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
10662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
10762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
10862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
10962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
11062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
11162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
11262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
11362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
11462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
11562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
11662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
11762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
11862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
11962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
12062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
12162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
12262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
12362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
12462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
12562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
12662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
12762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
12862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
12962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
13062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
13162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
13262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
13362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
13462306a36Sopenharmony_ci	BPF_EXIT_INSN(),
13562306a36Sopenharmony_ci	},
13662306a36Sopenharmony_ci	.errstr_unpriv = "R1 pointer comparison",
13762306a36Sopenharmony_ci	.result_unpriv = REJECT,
13862306a36Sopenharmony_ci	.result = ACCEPT,
13962306a36Sopenharmony_ci},
14062306a36Sopenharmony_ci{
14162306a36Sopenharmony_ci	"jump test 5",
14262306a36Sopenharmony_ci	.insns = {
14362306a36Sopenharmony_ci	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
14462306a36Sopenharmony_ci	BPF_MOV64_REG(BPF_REG_3, BPF_REG_2),
14562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
14662306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
14762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
14862306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
14962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
15062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
15162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
15262306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
15362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
15462306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
15562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
15662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
15762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
15862306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
15962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
16062306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
16162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
16262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
16362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
16462306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
16562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
16662306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
16762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
16862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
16962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
17062306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
17162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
17262306a36Sopenharmony_ci	BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
17362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
17462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 0),
17562306a36Sopenharmony_ci	BPF_EXIT_INSN(),
17662306a36Sopenharmony_ci	},
17762306a36Sopenharmony_ci	.errstr_unpriv = "R1 pointer comparison",
17862306a36Sopenharmony_ci	.result_unpriv = REJECT,
17962306a36Sopenharmony_ci	.result = ACCEPT,
18062306a36Sopenharmony_ci},
18162306a36Sopenharmony_ci{
18262306a36Sopenharmony_ci	"jump test 6",
18362306a36Sopenharmony_ci	.insns = {
18462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
18562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_1, 2),
18662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
18762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 2),
18862306a36Sopenharmony_ci	BPF_EXIT_INSN(),
18962306a36Sopenharmony_ci	BPF_JMP_REG(BPF_JNE, BPF_REG_0, BPF_REG_1, 16),
19062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
19962306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
20062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
20162306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
20262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
20362306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
20462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
20562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 0),
20662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, -20),
20762306a36Sopenharmony_ci	},
20862306a36Sopenharmony_ci	.result = ACCEPT,
20962306a36Sopenharmony_ci	.retval = 2,
21062306a36Sopenharmony_ci},
21162306a36Sopenharmony_ci{
21262306a36Sopenharmony_ci	"jump test 7",
21362306a36Sopenharmony_ci	.insns = {
21462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
21562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
21662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 3),
21762306a36Sopenharmony_ci	BPF_EXIT_INSN(),
21862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
21962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
22962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
23062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
23162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
23262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
23362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
23462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
23562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, -20),
23662306a36Sopenharmony_ci	},
23762306a36Sopenharmony_ci	.result = ACCEPT,
23862306a36Sopenharmony_ci	.retval = 3,
23962306a36Sopenharmony_ci},
24062306a36Sopenharmony_ci{
24162306a36Sopenharmony_ci	"jump test 8",
24262306a36Sopenharmony_ci	.insns = {
24362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
24462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_1, 2),
24562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
24662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 3),
24762306a36Sopenharmony_ci	BPF_EXIT_INSN(),
24862306a36Sopenharmony_ci	BPF_JMP_REG(BPF_JNE, BPF_REG_0, BPF_REG_1, 16),
24962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
25962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
26062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
26162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
26262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
26362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
26462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
26562306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, -20),
26662306a36Sopenharmony_ci	},
26762306a36Sopenharmony_ci	.result = ACCEPT,
26862306a36Sopenharmony_ci	.retval = 3,
26962306a36Sopenharmony_ci},
27062306a36Sopenharmony_ci{
27162306a36Sopenharmony_ci	"jump/call test 9",
27262306a36Sopenharmony_ci	.insns = {
27362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
27462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JA, 0, 0, 2),
27562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 3),
27662306a36Sopenharmony_ci	BPF_EXIT_INSN(),
27762306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
27862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
27962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
28962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
29062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
29162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
29262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
29362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
29462306a36Sopenharmony_ci	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -20),
29562306a36Sopenharmony_ci	BPF_EXIT_INSN(),
29662306a36Sopenharmony_ci	},
29762306a36Sopenharmony_ci	.prog_type = BPF_PROG_TYPE_SCHED_CLS,
29862306a36Sopenharmony_ci	.result = REJECT,
29962306a36Sopenharmony_ci	.errstr = "jump out of range from insn 1 to 4",
30062306a36Sopenharmony_ci},
30162306a36Sopenharmony_ci{
30262306a36Sopenharmony_ci	"jump/call test 10",
30362306a36Sopenharmony_ci	.insns = {
30462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
30562306a36Sopenharmony_ci	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
30662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 3),
30762306a36Sopenharmony_ci	BPF_EXIT_INSN(),
30862306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
30962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
31962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
32062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
32162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
32262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
32362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
32462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
32562306a36Sopenharmony_ci	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -20),
32662306a36Sopenharmony_ci	BPF_EXIT_INSN(),
32762306a36Sopenharmony_ci	},
32862306a36Sopenharmony_ci	.prog_type = BPF_PROG_TYPE_SCHED_CLS,
32962306a36Sopenharmony_ci	.result = REJECT,
33062306a36Sopenharmony_ci	.errstr = "last insn is not an exit or jmp",
33162306a36Sopenharmony_ci},
33262306a36Sopenharmony_ci{
33362306a36Sopenharmony_ci	"jump/call test 11",
33462306a36Sopenharmony_ci	.insns = {
33562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
33662306a36Sopenharmony_ci	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
33762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 3),
33862306a36Sopenharmony_ci	BPF_EXIT_INSN(),
33962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 3),
34062306a36Sopenharmony_ci	BPF_EXIT_INSN(),
34162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
34262306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 26),
34362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
34462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
34562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
34662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
34762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
34862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
34962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
35962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36162306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36262306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36362306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36462306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36562306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36662306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36762306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36862306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 42),
36962306a36Sopenharmony_ci	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -31),
37062306a36Sopenharmony_ci	BPF_EXIT_INSN(),
37162306a36Sopenharmony_ci	},
37262306a36Sopenharmony_ci	.prog_type = BPF_PROG_TYPE_SCHED_CLS,
37362306a36Sopenharmony_ci	.result = ACCEPT,
37462306a36Sopenharmony_ci	.retval = 3,
37562306a36Sopenharmony_ci},
37662306a36Sopenharmony_ci{
37762306a36Sopenharmony_ci	"jump & dead code elimination",
37862306a36Sopenharmony_ci	.insns = {
37962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 1),
38062306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_3, 0),
38162306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_NEG, BPF_REG_3, 0),
38262306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_NEG, BPF_REG_3, 0),
38362306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_OR, BPF_REG_3, 32767),
38462306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JSGE, BPF_REG_3, 0, 1),
38562306a36Sopenharmony_ci	BPF_EXIT_INSN(),
38662306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JSLE, BPF_REG_3, 0x8000, 1),
38762306a36Sopenharmony_ci	BPF_EXIT_INSN(),
38862306a36Sopenharmony_ci	BPF_ALU64_IMM(BPF_ADD, BPF_REG_3, -32767),
38962306a36Sopenharmony_ci	BPF_MOV64_IMM(BPF_REG_0, 2),
39062306a36Sopenharmony_ci	BPF_JMP_IMM(BPF_JLE, BPF_REG_3, 0, 1),
39162306a36Sopenharmony_ci	BPF_MOV64_REG(BPF_REG_0, BPF_REG_4),
39262306a36Sopenharmony_ci	BPF_EXIT_INSN(),
39362306a36Sopenharmony_ci	},
39462306a36Sopenharmony_ci	.prog_type = BPF_PROG_TYPE_SCHED_CLS,
39562306a36Sopenharmony_ci	.result = ACCEPT,
39662306a36Sopenharmony_ci	.retval = 2,
39762306a36Sopenharmony_ci},
398