root/tools/testing/selftests/bpf/verifier/perf_event_sample_period.c

/* [<][>][^][v][top][bottom][index][help] */
   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 },

/* [<][>][^][v][top][bottom][index][help] */