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_kernel
),
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_kernel
),
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_kernel
),
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_kernel
),
57 .errstr
= "invalid stack type R1 off=-48 access_size=58",
59 .prog_type
= BPF_PROG_TYPE_TRACEPOINT
,