2 "constant register |= constant should keep constant type",
4 BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
5 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -48),
6 BPF_MOV64_IMM(BPF_REG_2, 34),
7 BPF_ALU64_IMM(BPF_OR, BPF_REG_2, 13),
8 BPF_MOV64_IMM(BPF_REG_3, 0),
9 BPF_EMIT_CALL(BPF_FUNC_probe_read),
13 .prog_type = BPF_PROG_TYPE_TRACEPOINT,
16 "constant register |= constant should not bypass stack boundary checks",
18 BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
19 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -48),
20 BPF_MOV64_IMM(BPF_REG_2, 34),
21 BPF_ALU64_IMM(BPF_OR, BPF_REG_2, 24),
22 BPF_MOV64_IMM(BPF_REG_3, 0),
23 BPF_EMIT_CALL(BPF_FUNC_probe_read),
26 .errstr = "invalid stack type R1 off=-48 access_size=58",
28 .prog_type = BPF_PROG_TYPE_TRACEPOINT,
31 "constant register |= constant register should keep constant type",
33 BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
34 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -48),
35 BPF_MOV64_IMM(BPF_REG_2, 34),
36 BPF_MOV64_IMM(BPF_REG_4, 13),
37 BPF_ALU64_REG(BPF_OR, BPF_REG_2, BPF_REG_4),
38 BPF_MOV64_IMM(BPF_REG_3, 0),
39 BPF_EMIT_CALL(BPF_FUNC_probe_read),
43 .prog_type = BPF_PROG_TYPE_TRACEPOINT,
46 "constant register |= constant register should not bypass stack boundary checks",
48 BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
49 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -48),
50 BPF_MOV64_IMM(BPF_REG_2, 34),
51 BPF_MOV64_IMM(BPF_REG_4, 24),
52 BPF_ALU64_REG(BPF_OR, BPF_REG_2, BPF_REG_4),
53 BPF_MOV64_IMM(BPF_REG_3, 0),
54 BPF_EMIT_CALL(BPF_FUNC_probe_read),
57 .errstr = "invalid stack type R1 off=-48 access_size=58",
59 .prog_type = BPF_PROG_TYPE_TRACEPOINT,