bpf_test
static int __bpf_emit_alu32_reg(struct bpf_test *self, void *arg,
static int __bpf_fill_alu64_imm(struct bpf_test *self, int op)
static int __bpf_fill_alu32_imm(struct bpf_test *self, int op)
static int __bpf_fill_alu64_reg(struct bpf_test *self, int op)
static int __bpf_fill_alu32_reg(struct bpf_test *self, int op)
static int bpf_fill_alu64_mov_imm(struct bpf_test *self)
static int bpf_fill_alu64_and_imm(struct bpf_test *self)
static int bpf_fill_alu64_or_imm(struct bpf_test *self)
static int bpf_fill_alu64_xor_imm(struct bpf_test *self)
static int bpf_fill_alu64_add_imm(struct bpf_test *self)
static int bpf_fill_alu64_sub_imm(struct bpf_test *self)
static int bpf_fill_alu64_mul_imm(struct bpf_test *self)
static int bpf_fill_alu64_div_imm(struct bpf_test *self)
static int bpf_fill_alu64_mod_imm(struct bpf_test *self)
static int bpf_fill_alu32_mov_imm(struct bpf_test *self)
static int bpf_fill_maxinsns2(struct bpf_test *self)
static int bpf_fill_alu32_and_imm(struct bpf_test *self)
static int bpf_fill_alu32_or_imm(struct bpf_test *self)
static int bpf_fill_alu32_xor_imm(struct bpf_test *self)
static int bpf_fill_alu32_add_imm(struct bpf_test *self)
static int bpf_fill_alu32_sub_imm(struct bpf_test *self)
static int bpf_fill_alu32_mul_imm(struct bpf_test *self)
static int bpf_fill_alu32_div_imm(struct bpf_test *self)
static int bpf_fill_alu32_mod_imm(struct bpf_test *self)
static int bpf_fill_alu64_mov_reg(struct bpf_test *self)
static int bpf_fill_alu64_and_reg(struct bpf_test *self)
static int bpf_fill_alu64_or_reg(struct bpf_test *self)
static int bpf_fill_alu64_xor_reg(struct bpf_test *self)
static int bpf_fill_alu64_add_reg(struct bpf_test *self)
static int bpf_fill_alu64_sub_reg(struct bpf_test *self)
static int bpf_fill_alu64_mul_reg(struct bpf_test *self)
static int bpf_fill_alu64_div_reg(struct bpf_test *self)
static int bpf_fill_alu64_mod_reg(struct bpf_test *self)
static int bpf_fill_alu32_mov_reg(struct bpf_test *self)
static int bpf_fill_alu32_and_reg(struct bpf_test *self)
static int bpf_fill_alu32_or_reg(struct bpf_test *self)
static int bpf_fill_alu32_xor_reg(struct bpf_test *self)
static int bpf_fill_alu32_add_reg(struct bpf_test *self)
static int bpf_fill_alu32_sub_reg(struct bpf_test *self)
static int bpf_fill_alu32_mul_reg(struct bpf_test *self)
static int bpf_fill_alu32_div_reg(struct bpf_test *self)
static int bpf_fill_alu32_mod_reg(struct bpf_test *self)
static int __bpf_fill_alu_imm_regs(struct bpf_test *self, u8 op, bool alu32)
static int bpf_fill_maxinsns3(struct bpf_test *self)
static int bpf_fill_alu64_mov_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_and_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_or_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_xor_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_lsh_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_rsh_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_arsh_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_add_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_sub_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_mul_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_div_imm_regs(struct bpf_test *self)
static int bpf_fill_alu64_mod_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_mov_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_and_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_or_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_xor_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_lsh_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_rsh_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_arsh_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_add_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_sub_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_mul_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_div_imm_regs(struct bpf_test *self)
static int bpf_fill_alu32_mod_imm_regs(struct bpf_test *self)
static int __bpf_fill_alu_reg_pairs(struct bpf_test *self, u8 op, bool alu32)
static void *generate_test_data(struct bpf_test *test, int sub)
static void release_test_data(const struct bpf_test *test, void *data)
static int bpf_fill_alu64_mov_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_and_reg_pairs(struct bpf_test *self)
static int run_one(const struct bpf_prog *fp, struct bpf_test *test)
static int bpf_fill_alu64_or_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_xor_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_lsh_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_rsh_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_arsh_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_add_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_sub_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_mul_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_div_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu64_mod_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_mov_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_and_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_or_reg_pairs(struct bpf_test *self)
static int bpf_fill_maxinsns4(struct bpf_test *self)
static int bpf_fill_alu32_xor_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_lsh_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_rsh_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_arsh_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_add_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_sub_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_mul_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_div_reg_pairs(struct bpf_test *self)
static int bpf_fill_alu32_mod_reg_pairs(struct bpf_test *self)
static int __bpf_emit_atomic64(struct bpf_test *self, void *arg,
static int __bpf_emit_atomic32(struct bpf_test *self, void *arg,
static int __bpf_emit_cmpxchg64(struct bpf_test *self, void *arg,
static int __bpf_emit_cmpxchg32(struct bpf_test *self, void *arg,
static int bpf_fill_maxinsns5(struct bpf_test *self)
static int __bpf_fill_atomic64(struct bpf_test *self, int op)
static int __bpf_fill_atomic32(struct bpf_test *self, int op)
static int bpf_fill_atomic64_add(struct bpf_test *self)
static int bpf_fill_atomic64_and(struct bpf_test *self)
static int bpf_fill_atomic64_or(struct bpf_test *self)
static int bpf_fill_atomic64_xor(struct bpf_test *self)
static int bpf_fill_atomic64_add_fetch(struct bpf_test *self)
static int bpf_fill_atomic64_and_fetch(struct bpf_test *self)
static int bpf_fill_atomic64_or_fetch(struct bpf_test *self)
static int bpf_fill_atomic64_xor_fetch(struct bpf_test *self)
static int bpf_fill_atomic64_xchg(struct bpf_test *self)
static int bpf_fill_cmpxchg64(struct bpf_test *self)
static int bpf_fill_atomic32_add(struct bpf_test *self)
static int bpf_fill_atomic32_and(struct bpf_test *self)
static int bpf_fill_atomic32_or(struct bpf_test *self)
static int bpf_fill_atomic32_xor(struct bpf_test *self)
static int bpf_fill_atomic32_add_fetch(struct bpf_test *self)
static int bpf_fill_atomic32_and_fetch(struct bpf_test *self)
static int bpf_fill_atomic32_or_fetch(struct bpf_test *self)
static int bpf_fill_atomic32_xor_fetch(struct bpf_test *self)
static int bpf_fill_atomic32_xchg(struct bpf_test *self)
static int bpf_fill_cmpxchg32(struct bpf_test *self)
static int __bpf_fill_atomic_reg_pairs(struct bpf_test *self, u8 width, u8 op)
static int bpf_fill_maxinsns6(struct bpf_test *self)
static int bpf_fill_atomic64_add_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_and_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_or_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_xor_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_add_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_and_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_or_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_xor_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_xchg_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic64_cmpxchg_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_add_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_and_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_or_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_xor_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_add_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_and_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_or_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_xor_fetch_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_xchg_reg_pairs(struct bpf_test *self)
static int bpf_fill_atomic32_cmpxchg_reg_pairs(struct bpf_test *self)
static int bpf_fill_ld_imm64_magn(struct bpf_test *self)
static int bpf_fill_maxinsns7(struct bpf_test *self)
static int __bpf_fill_ld_imm64_bytes(struct bpf_test *self,
static int bpf_fill_ld_imm64_checker(struct bpf_test *self)
static int bpf_fill_ld_imm64_pos_neg(struct bpf_test *self)
static int bpf_fill_ld_imm64_pos_zero(struct bpf_test *self)
static int bpf_fill_ld_imm64_neg_zero(struct bpf_test *self)
static int __bpf_emit_jmp_imm(struct bpf_test *self, void *arg,
static int __bpf_emit_jmp32_imm(struct bpf_test *self, void *arg,
static int __bpf_emit_jmp_reg(struct bpf_test *self, void *arg,
static int __bpf_emit_jmp32_reg(struct bpf_test *self, void *arg,
static int __bpf_fill_jmp_imm(struct bpf_test *self, int op)
static int __bpf_fill_jmp32_imm(struct bpf_test *self, int op)
static int __bpf_fill_jmp_reg(struct bpf_test *self, int op)
static int __bpf_fill_jmp32_reg(struct bpf_test *self, int op)
static int bpf_fill_jmp_jset_imm(struct bpf_test *self)
static int bpf_fill_jmp_jeq_imm(struct bpf_test *self)
static int bpf_fill_jmp_jne_imm(struct bpf_test *self)
static int bpf_fill_jmp_jgt_imm(struct bpf_test *self)
static int bpf_fill_jmp_jge_imm(struct bpf_test *self)
static int bpf_fill_maxinsns8(struct bpf_test *self)
static int bpf_fill_jmp_jlt_imm(struct bpf_test *self)
static int bpf_fill_jmp_jle_imm(struct bpf_test *self)
static int bpf_fill_jmp_jsgt_imm(struct bpf_test *self)
static int bpf_fill_jmp_jsge_imm(struct bpf_test *self)
static int bpf_fill_jmp_jslt_imm(struct bpf_test *self)
static int bpf_fill_jmp_jsle_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jset_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jeq_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jne_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jgt_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jge_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jlt_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jle_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jsgt_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jsge_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jslt_imm(struct bpf_test *self)
static int bpf_fill_jmp32_jsle_imm(struct bpf_test *self)
static int bpf_fill_jmp_jset_reg(struct bpf_test *self)
static int bpf_fill_jmp_jeq_reg(struct bpf_test *self)
static int bpf_fill_jmp_jne_reg(struct bpf_test *self)
static int bpf_fill_jmp_jgt_reg(struct bpf_test *self)
static int bpf_fill_jmp_jge_reg(struct bpf_test *self)
static int bpf_fill_jmp_jlt_reg(struct bpf_test *self)
static int bpf_fill_jmp_jle_reg(struct bpf_test *self)
static int bpf_fill_jmp_jsgt_reg(struct bpf_test *self)
static int bpf_fill_jmp_jsge_reg(struct bpf_test *self)
static int bpf_fill_jmp_jslt_reg(struct bpf_test *self)
static int bpf_fill_jmp_jsle_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jset_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jeq_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jne_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jgt_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jge_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jlt_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jle_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jsgt_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jsge_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jslt_reg(struct bpf_test *self)
static int bpf_fill_jmp32_jsle_reg(struct bpf_test *self)
static int bpf_fill_maxinsns9(struct bpf_test *self)
static int __bpf_fill_staggered_jumps(struct bpf_test *self,
static int bpf_fill_staggered_ja(struct bpf_test *self)
static int bpf_fill_staggered_jeq_imm(struct bpf_test *self)
static int bpf_fill_staggered_jne_imm(struct bpf_test *self)
static int bpf_fill_staggered_jset_imm(struct bpf_test *self)
static int bpf_fill_staggered_jgt_imm(struct bpf_test *self)
static int bpf_fill_staggered_jge_imm(struct bpf_test *self)
static int bpf_fill_staggered_jlt_imm(struct bpf_test *self)
static int bpf_fill_staggered_jle_imm(struct bpf_test *self)
static int bpf_fill_staggered_jsgt_imm(struct bpf_test *self)
static int bpf_fill_staggered_jsge_imm(struct bpf_test *self)
static int bpf_fill_staggered_jslt_imm(struct bpf_test *self)
static int bpf_fill_staggered_jsle_imm(struct bpf_test *self)
static int bpf_fill_staggered_jeq_reg(struct bpf_test *self)
static int bpf_fill_staggered_jne_reg(struct bpf_test *self)
static int bpf_fill_staggered_jset_reg(struct bpf_test *self)
static int bpf_fill_staggered_jgt_reg(struct bpf_test *self)
static int bpf_fill_staggered_jge_reg(struct bpf_test *self)
static int bpf_fill_staggered_jlt_reg(struct bpf_test *self)
static int bpf_fill_staggered_jle_reg(struct bpf_test *self)
static int bpf_fill_staggered_jsgt_reg(struct bpf_test *self)
static int bpf_fill_staggered_jsge_reg(struct bpf_test *self)
static int bpf_fill_staggered_jslt_reg(struct bpf_test *self)
static int bpf_fill_staggered_jsle_reg(struct bpf_test *self)
static int bpf_fill_staggered_jeq32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jne32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jset32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jgt32_imm(struct bpf_test *self)
static int bpf_fill_maxinsns10(struct bpf_test *self)
static int bpf_fill_staggered_jge32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jlt32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jle32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jsgt32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jsge32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jslt32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jsle32_imm(struct bpf_test *self)
static int bpf_fill_staggered_jeq32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jne32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jset32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jgt32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jge32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jlt32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jle32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jsgt32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jsge32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jslt32_reg(struct bpf_test *self)
static int bpf_fill_staggered_jsle32_reg(struct bpf_test *self)
static struct bpf_test tests[] = {
static int __bpf_fill_ja(struct bpf_test *self, unsigned int len,
static int bpf_fill_maxinsns11(struct bpf_test *self)
static int bpf_fill_maxinsns12(struct bpf_test *self)
static int bpf_fill_maxinsns13(struct bpf_test *self)
static int bpf_fill_ja(struct bpf_test *self)
static int bpf_fill_ld_abs_get_processor_id(struct bpf_test *self)
static int __bpf_fill_stxdw(struct bpf_test *self, int size)
static int bpf_fill_stxw(struct bpf_test *self)
static int bpf_fill_stxdw(struct bpf_test *self)
static int __bpf_fill_max_jmp(struct bpf_test *self, int jmp, int imm, bool alu32)
static int bpf_fill_max_jmp_taken_32(struct bpf_test *self)
static int bpf_fill_max_jmp_taken(struct bpf_test *self)
static int bpf_fill_max_jmp_not_taken_32(struct bpf_test *self)
static int bpf_fill_max_jmp_not_taken(struct bpf_test *self)
static int bpf_fill_max_jmp_always_taken_32(struct bpf_test *self)
static int bpf_fill_max_jmp_always_taken(struct bpf_test *self)
static int bpf_fill_max_jmp_never_taken_32(struct bpf_test *self)
static int bpf_fill_max_jmp_never_taken(struct bpf_test *self)
static int __bpf_fill_alu_shift(struct bpf_test *self, u8 op,
static int bpf_fill_alu64_lsh_imm(struct bpf_test *self)
static int bpf_fill_alu64_rsh_imm(struct bpf_test *self)
static int bpf_fill_alu64_arsh_imm(struct bpf_test *self)
static int bpf_fill_alu64_lsh_reg(struct bpf_test *self)
static int bpf_fill_alu64_rsh_reg(struct bpf_test *self)
static int bpf_fill_alu64_arsh_reg(struct bpf_test *self)
static int bpf_fill_alu32_lsh_imm(struct bpf_test *self)
static int bpf_fill_alu32_rsh_imm(struct bpf_test *self)
static int bpf_fill_alu32_arsh_imm(struct bpf_test *self)
static int bpf_fill_alu32_lsh_reg(struct bpf_test *self)
static int bpf_fill_alu32_rsh_reg(struct bpf_test *self)
static int bpf_fill_alu32_arsh_reg(struct bpf_test *self)
static int __bpf_fill_alu_shift_same_reg(struct bpf_test *self, u8 op,
static int bpf_fill_alu64_lsh_same_reg(struct bpf_test *self)
static int bpf_fill_alu64_rsh_same_reg(struct bpf_test *self)
static int bpf_fill_alu64_arsh_same_reg(struct bpf_test *self)
int (*fill_helper)(struct bpf_test *self);
static int bpf_fill_alu32_lsh_same_reg(struct bpf_test *self)
static int bpf_fill_alu32_rsh_same_reg(struct bpf_test *self)
static int bpf_fill_alu32_arsh_same_reg(struct bpf_test *self)
static int __bpf_fill_pattern(struct bpf_test *self, void *arg,
int (*emit)(struct bpf_test*, void*,
static int bpf_fill_maxinsns1(struct bpf_test *self)
static int __bpf_emit_alu64_imm(struct bpf_test *self, void *arg,
static int __bpf_emit_alu32_imm(struct bpf_test *self, void *arg,
static int __bpf_emit_alu64_reg(struct bpf_test *self, void *arg,
static void do_test_fixup(struct bpf_test *test, enum bpf_prog_type prog_type,
void (*fill_helper)(struct bpf_test *self);
static bool check_xlated_program(struct bpf_test *test, int fd_prog)
static void do_test_single(struct bpf_test *test, bool unpriv,
static bool test_as_unpriv(struct bpf_test *test)
struct bpf_test *test = &tests[i];
static void bpf_fill_ld_abs_vlan_push_pop(struct bpf_test *self)
static void bpf_fill_jump_around_ld_abs(struct bpf_test *self)
static void bpf_fill_rand_ld_dw(struct bpf_test *self)
static void bpf_fill_scale1(struct bpf_test *self)
static void bpf_fill_scale2(struct bpf_test *self)
static void bpf_fill_scale(struct bpf_test *self)
static void bpf_fill_torturous_jumps(struct bpf_test *self)
static void bpf_fill_big_prog_with_loop_1(struct bpf_test *self)
static struct bpf_test tests[] = {
static int load_btf_for_test(struct bpf_test *test)