WIP FPC-III support
[linux/fpc-iii.git] / tools / testing / selftests / bpf / verifier / perf_event_sample_period.c
blob471c1a5950d84077129713d6cdb34f355339e510
2 "check bpf_perf_event_data->sample_period byte load permitted",
3 .insns = {
4 BPF_MOV64_IMM(BPF_REG_0, 0),
5 #if __BYTE_ORDER == __LITTLE_ENDIAN
6 BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_1,
7 offsetof(struct bpf_perf_event_data, sample_period)),
8 #else
9 BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_1,
10 offsetof(struct bpf_perf_event_data, sample_period) + 7),
11 #endif
12 BPF_EXIT_INSN(),
14 .result = ACCEPT,
15 .prog_type = BPF_PROG_TYPE_PERF_EVENT,
18 "check bpf_perf_event_data->sample_period half load permitted",
19 .insns = {
20 BPF_MOV64_IMM(BPF_REG_0, 0),
21 #if __BYTE_ORDER == __LITTLE_ENDIAN
22 BPF_LDX_MEM(BPF_H, BPF_REG_0, BPF_REG_1,
23 offsetof(struct bpf_perf_event_data, sample_period)),
24 #else
25 BPF_LDX_MEM(BPF_H, BPF_REG_0, BPF_REG_1,
26 offsetof(struct bpf_perf_event_data, sample_period) + 6),
27 #endif
28 BPF_EXIT_INSN(),
30 .result = ACCEPT,
31 .prog_type = BPF_PROG_TYPE_PERF_EVENT,
34 "check bpf_perf_event_data->sample_period word load permitted",
35 .insns = {
36 BPF_MOV64_IMM(BPF_REG_0, 0),
37 #if __BYTE_ORDER == __LITTLE_ENDIAN
38 BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1,
39 offsetof(struct bpf_perf_event_data, sample_period)),
40 #else
41 BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1,
42 offsetof(struct bpf_perf_event_data, sample_period) + 4),
43 #endif
44 BPF_EXIT_INSN(),
46 .result = ACCEPT,
47 .prog_type = BPF_PROG_TYPE_PERF_EVENT,
50 "check bpf_perf_event_data->sample_period dword load permitted",
51 .insns = {
52 BPF_MOV64_IMM(BPF_REG_0, 0),
53 BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_1,
54 offsetof(struct bpf_perf_event_data, sample_period)),
55 BPF_EXIT_INSN(),
57 .result = ACCEPT,
58 .prog_type = BPF_PROG_TYPE_PERF_EVENT,