1 {
2 	"direct stack access with 32-bit wraparound. test1",
3 	.insns = {
4 	BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
5 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x7fffffff),
6 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x7fffffff),
7 	BPF_MOV32_IMM(BPF_REG_0, 0),
8 	BPF_STX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
9 	BPF_EXIT_INSN(),
10 	},
11 	.errstr = "fp pointer and 2147483647",
12 	.result = REJECT
13 },
14 {
15 	"direct stack access with 32-bit wraparound. test2",
16 	.insns = {
17 	BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
18 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x3fffffff),
19 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x3fffffff),
20 	BPF_MOV32_IMM(BPF_REG_0, 0),
21 	BPF_STX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
22 	BPF_EXIT_INSN(),
23 	},
24 	.errstr = "fp pointer and 1073741823",
25 	.result = REJECT
26 },
27 {
28 	"direct stack access with 32-bit wraparound. test3",
29 	.insns = {
30 	BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
31 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x1fffffff),
32 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x1fffffff),
33 	BPF_MOV32_IMM(BPF_REG_0, 0),
34 	BPF_STX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
35 	BPF_EXIT_INSN(),
36 	},
37 	.errstr = "fp pointer offset 1073741822",
38 	.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
39 	.result = REJECT
40 },
41