Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
 1{
 2	"invalid map_fd for function call",
 3	.insns = {
 4	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 5	BPF_ALU64_REG(BPF_MOV, BPF_REG_2, BPF_REG_10),
 6	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 7	BPF_LD_MAP_FD(BPF_REG_1, 0),
 8	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_delete_elem),
 9	BPF_EXIT_INSN(),
10	},
11	.errstr = "fd 0 is not pointing to valid bpf_map",
12	.result = REJECT,
13},
14{
15	"don't check return value before access",
16	.insns = {
17	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
18	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
19	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
20	BPF_LD_MAP_FD(BPF_REG_1, 0),
21	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
22	BPF_ST_MEM(BPF_DW, BPF_REG_0, 0, 0),
23	BPF_EXIT_INSN(),
24	},
25	.fixup_map_hash_8b = { 3 },
26	.errstr = "R0 invalid mem access 'map_value_or_null'",
27	.result = REJECT,
28},
29{
30	"access memory with incorrect alignment",
31	.insns = {
32	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
33	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
34	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
35	BPF_LD_MAP_FD(BPF_REG_1, 0),
36	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
37	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
38	BPF_ST_MEM(BPF_DW, BPF_REG_0, 4, 0),
39	BPF_EXIT_INSN(),
40	},
41	.fixup_map_hash_8b = { 3 },
42	.errstr = "misaligned value access",
43	.result = REJECT,
44	.flags = F_LOAD_WITH_STRICT_ALIGNMENT,
45},
46{
47	"sometimes access memory with incorrect alignment",
48	.insns = {
49	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
50	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
51	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
52	BPF_LD_MAP_FD(BPF_REG_1, 0),
53	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
54	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 2),
55	BPF_ST_MEM(BPF_DW, BPF_REG_0, 0, 0),
56	BPF_EXIT_INSN(),
57	BPF_ST_MEM(BPF_DW, BPF_REG_0, 0, 1),
58	BPF_EXIT_INSN(),
59	},
60	.fixup_map_hash_8b = { 3 },
61	.errstr = "R0 invalid mem access",
62	.errstr_unpriv = "R0 leaks addr",
63	.result = REJECT,
64	.flags = F_LOAD_WITH_STRICT_ALIGNMENT,
65},