Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1{
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(),
13 },
14 .result = ACCEPT,
15 .prog_type = BPF_PROG_TYPE_PERF_EVENT,
16},
17{
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(),
29 },
30 .result = ACCEPT,
31 .prog_type = BPF_PROG_TYPE_PERF_EVENT,
32},
33{
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(),
45 },
46 .result = ACCEPT,
47 .prog_type = BPF_PROG_TYPE_PERF_EVENT,
48},
49{
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(),
56 },
57 .result = ACCEPT,
58 .prog_type = BPF_PROG_TYPE_PERF_EVENT,
59},