| /linux/tools/include/linux/ |
| H A D | filter.h | 36 ((struct bpf_insn) { \ 44 ((struct bpf_insn) { \ 54 ((struct bpf_insn) { \ 62 ((struct bpf_insn) { \ 72 ((struct bpf_insn) { \ 82 ((struct bpf_insn) { \ 90 ((struct bpf_insn) { \ 100 ((struct bpf_insn) { \ 108 ((struct bpf_insn) { \ 118 ((struct bpf_insn) { \ [all...] |
| /linux/samples/bpf/ |
| H A D | bpf_insn.h | 6 struct bpf_insn; 11 ((struct bpf_insn) { \ 19 ((struct bpf_insn) { \ 29 ((struct bpf_insn) { \ 37 ((struct bpf_insn) { \ 47 ((struct bpf_insn) { \ 55 ((struct bpf_insn) { \ 65 ((struct bpf_insn) { \ 73 ((struct bpf_insn) { \ 85 ((struct bpf_insn) { \ [all …]
|
| /linux/tools/lib/bpf/ |
| H A D | gen_loader.c | 98 static void emit(struct bpf_gen *gen, struct bpf_insn insn) in emit() 106 static void emit2(struct bpf_gen *gen, struct bpf_insn insn1, struct bpf_insn insn2) in emit2() 413 struct bpf_insn *insn = (struct bpf_insn *)opts->insns; in bpf_gen__finish() 414 int insn_cnt = opts->insns_sz / sizeof(struct bpf_insn); in bpf_gen__finish() 724 move_blob2blob(gen, insn + offsetof(struct bpf_insn, imm), 4, in emit_relo_kfunc_btf() 725 kdesc->insn + offsetof(struct bpf_insn, imm)); in emit_relo_kfunc_btf() 726 move_blob2blob(gen, insn + offsetof(struct bpf_insn, off), 2, in emit_relo_kfunc_btf() 727 kdesc->insn + offsetof(struct bpf_insn, off)); in emit_relo_kfunc_btf() 747 emit(gen, BPF_ST_MEM(BPF_W, BPF_REG_8, offsetof(struct bpf_insn, imm), 0)); in emit_relo_kfunc_btf() 748 emit(gen, BPF_ST_MEM(BPF_H, BPF_REG_8, offsetof(struct bpf_insn, off), 0)); in emit_relo_kfunc_btf() [all …]
|
| H A D | features.c | 25 struct bpf_insn insns[] = { in probe_kern_prog_name() 49 struct bpf_insn insns[] = { in probe_kern_global_data() 230 struct bpf_insn insns[] = { in probe_kern_exp_attach_type() 251 struct bpf_insn insns[] = { in probe_kern_probe_read_kernel() 267 struct bpf_insn insns[] = { in probe_prog_bind_map() 334 struct bpf_insn insns[] = { in probe_perf_link() 370 struct bpf_insn insns[] = { in probe_uprobe_multi_link() 429 struct bpf_insn insns[] = { in probe_kern_bpf_cookie() 475 const struct bpf_insn insns[] = { in probe_kern_arg_ctx_tag() 524 struct bpf_insn insns[] = { in probe_ldimm64_full_range_off() [all …]
|
| /linux/include/linux/ |
| H A D | filter.h | 107 ((struct bpf_insn) { \ 118 ((struct bpf_insn) { \ 131 ((struct bpf_insn) { \ 141 ((struct bpf_insn) { \ 153 ((struct bpf_insn) { \ 163 ((struct bpf_insn) { \ 173 ((struct bpf_insn) { \ 181 ((struct bpf_insn) { \ 195 ((struct bpf_insn) { \ 202 static inline bool insn_is_mov_percpu_addr(const struct bpf_insn *insn) in insn_is_mov_percpu_addr() [all …]
|
| H A D | bpf_verifier.h | 1037 struct bpf_insn insn_buf[INSN_BUF_SIZE]; 1038 struct bpf_insn epilogue_buf[INSN_BUF_SIZE]; 1064 static inline bool bpf_helper_call(const struct bpf_insn *insn) in bpf_helper_call() 1070 static inline bool bpf_pseudo_call(const struct bpf_insn *insn) in bpf_pseudo_call() 1076 static inline bool bpf_pseudo_kfunc_call(const struct bpf_insn *insn) in bpf_pseudo_kfunc_call() 1163 struct bpf_insn *insn); 1459 static inline bool insn_is_gotox(struct bpf_insn *insn) in insn_is_gotox() 1476 const char *bpf_disasm_kfunc_name(void *data, const struct bpf_insn *insn); 1480 int bpf_jmp_offset(struct bpf_insn *insn); 1486 bool bpf_is_throw_kfunc(struct bpf_insn *insn); [all …]
|
| H A D | bpf.h | 78 const struct bpf_insn *); 127 int (*map_gen_lookup)(struct bpf_map *map, struct bpf_insn *insn_buf); 1126 static bool bpf_is_ldimm64(const struct bpf_insn *insn) in bpf_is_ldimm64() 1131 static inline bool bpf_pseudo_func(const struct bpf_insn *insn) in bpf_pseudo_func() 1154 int (*gen_prologue)(struct bpf_insn *insn, bool direct_write, 1156 int (*gen_epilogue)(struct bpf_insn *insn, const struct bpf_prog *prog, 1158 int (*gen_ld_abs)(const struct bpf_insn *orig, 1159 struct bpf_insn *insn_buf); 1161 const struct bpf_insn *src, 1162 struct bpf_insn *dst, [all …]
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | test_verifier.c | 86 struct bpf_insn insns[MAX_INSNS]; 87 struct bpf_insn *fill_insns; 99 struct bpf_insn expected_insns[MAX_EXPECTED_INSNS]; 104 struct bpf_insn unexpected_insns[MAX_UNEXPECTED_INSNS]; 192 struct bpf_insn *insn = self->fill_insns; in bpf_fill_ld_abs_vlan_push_pop() 235 struct bpf_insn *insn = self->fill_insns; in bpf_fill_jump_around_ld_abs() 257 struct bpf_insn *insn = self->fill_insns; in bpf_fill_rand_ld_dw() 264 struct bpf_insn tmp[2] = { BPF_LD_IMM64(BPF_REG_1, val) }; in bpf_fill_rand_ld_dw() 285 struct bpf_insn *insn = self->fill_insns; in bpf_fill_scale1() 311 struct bpf_insn *insn = self->fill_insns; in bpf_fill_scale2() [all …]
|
| H A D | disasm_helpers.h | 8 struct bpf_insn; 10 struct bpf_insn *disasm_insn(struct bpf_insn *insn, char *buf, size_t buf_sz);
|
| H A D | disasm.h | 25 const struct bpf_insn *insn); 27 const struct bpf_insn *insn, 38 const struct bpf_insn *insn,
|
| H A D | testing_helpers.h | 19 int bpf_test_load_program(enum bpf_prog_type type, const struct bpf_insn *insns, 55 struct bpf_insn; 59 int get_xlated_program(int fd_prog, struct bpf_insn **buf, __u32 *cnt);
|
| H A D | disasm_helpers.c | 22 static const char *print_call_cb(void *private_data, const struct bpf_insn *insn) in print_call_cb() 38 struct bpf_insn *disasm_insn(struct bpf_insn *insn, char *buf, size_t buf_sz) in disasm_insn()
|
| H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() 44 const struct bpf_insn *insn, in __func_imm_name() 140 const struct bpf_insn *insn) in print_bpf_end_insn() 150 const struct bpf_insn *insn) in print_bpf_bswap_insn() 157 static bool is_sdiv_smod(const struct bpf_insn *insn) in is_sdiv_smod() 163 static bool is_movsx(const struct bpf_insn *insn) in is_movsx() 169 static bool is_addr_space_cast(const struct bpf_insn *insn) in is_addr_space_cast() 181 static inline bool is_mov_percpu_addr(const struct bpf_insn *insn) in is_mov_percpu_addr() 187 const struct bpf_insn *insn, in print_bpf_insn()
|
| H A D | test_tag.c | 25 static struct bpf_insn prog[BPF_MAXINSNS]; 42 struct bpf_insn tmp[] = { in bpf_gen_map_prog() 133 insns *= sizeof(struct bpf_insn); in tag_from_alg()
|
| /linux/tools/bpf/bpftool/ |
| H A D | cfg.c | 20 struct bpf_insn *start; 21 struct bpf_insn *end; 30 struct bpf_insn *head; 31 struct bpf_insn *tail; 63 static struct func_node *cfg_append_func(struct cfg *cfg, struct bpf_insn *insn) in cfg_append_func() 89 struct bpf_insn *insn) in func_append_bb() 131 static bool cfg_partition_funcs(struct cfg *cfg, struct bpf_insn *cur, in cfg_partition_funcs() 132 struct bpf_insn *end) in cfg_partition_funcs() 167 struct bpf_insn *cur, *end; in func_partition_bb_head() 244 struct bpf_insn *insn) in func_search_bb_with_head() [all …]
|
| H A D | xlated_dumper.c | 135 const struct bpf_insn *insn) in print_call_pcrel() 164 const struct bpf_insn *insn) in print_call() 182 const struct bpf_insn *insn, in print_imm() 216 struct bpf_insn *insn = buf; in dump_xlated_json() 301 struct bpf_insn *insn = buf; in dump_xlated_plain() 368 struct bpf_insn *insn_start = buf_start; in dump_xlated_for_graph() 369 struct bpf_insn *insn_end = buf_end; in dump_xlated_for_graph() 370 struct bpf_insn *cur = insn_start; in dump_xlated_for_graph()
|
| /linux/kernel/bpf/ |
| H A D | disasm.h | 25 const struct bpf_insn *insn); 27 const struct bpf_insn *insn, 38 const struct bpf_insn *insn,
|
| H A D | disasm.c | 17 const struct bpf_insn *insn, in __func_get_name() 44 const struct bpf_insn *insn, in __func_imm_name() 140 const struct bpf_insn *insn) in print_bpf_end_insn() 150 const struct bpf_insn *insn) in print_bpf_bswap_insn() 157 static bool is_sdiv_smod(const struct bpf_insn *insn) in is_sdiv_smod() 163 static bool is_movsx(const struct bpf_insn *insn) in is_movsx() 169 static bool is_addr_space_cast(const struct bpf_insn *insn) in is_addr_space_cast() 181 static inline bool is_mov_percpu_addr(const struct bpf_insn *insn) in is_mov_percpu_addr() 187 const struct bpf_insn *insn, in print_bpf_insn()
|
| H A D | fixups.c | 16 static bool is_cmpxchg_insn(const struct bpf_insn *insn) in is_cmpxchg_insn() 24 static bool is_addr_space_cast32(struct bpf_prog *prog, const struct bpf_insn *insn) in is_addr_space_cast32() 44 static int insn_def_regno(const struct bpf_insn *insn) in insn_def_regno() 63 static bool bpf_is_reg64(struct bpf_prog *prog, struct bpf_insn *insn) in bpf_is_reg64() 104 int bpf_insn_def32(struct bpf_prog *prog, struct bpf_insn *insn) in bpf_insn_def32() 128 const struct bpf_insn *insn) in bpf_jit_find_kfunc_model() 184 struct bpf_insn *insn, int cnt) in add_kfunc_in_insns() 200 const struct bpf_insn *insn, int idx) in get_callee_stack_depth() 219 struct bpf_insn *insn = new_prog->insnsi; in adjust_insn_aux_data() 305 const struct bpf_insn *patch, u32 len) in bpf_patch_insn_data() [all …]
|
| H A D | const_fold.c | 51 struct bpf_insn *insn, struct bpf_insn *insns, int idx) in const_reg_xfer() 236 struct bpf_insn *insns = env->prog->insnsi; in bpf_compute_const_regs() 261 struct bpf_insn *insn = &insns[idx]; in bpf_compute_const_regs() 342 struct bpf_insn *insns = env->prog->insnsi; in bpf_prune_dead_branches() 349 struct bpf_insn *insn = &insns[i]; in bpf_prune_dead_branches()
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | raw_tp_writable_reject_bad_access.c | 7 static void check_attach_reject(const struct bpf_insn *program, size_t prog_len) in check_attach_reject() 32 const struct bpf_insn program[] = { in test_raw_tp_writable_reject_bad_access() 41 const struct bpf_insn negative_var_off_program[] = { in test_raw_tp_writable_reject_bad_access()
|
| H A D | kptr_xchg_inline.c | 11 struct bpf_insn *insn = NULL; in test_kptr_xchg_inline() 12 struct bpf_insn exp; in test_kptr_xchg_inline()
|
| H A D | raw_tp_writable_test_run.c | 13 const struct bpf_insn trace_program[] = { in serial_test_raw_tp_writable_test_run() 34 const struct bpf_insn skb_program[] = { in serial_test_raw_tp_writable_test_run()
|
| /linux/drivers/net/ethernet/netronome/nfp/bpf/ |
| H A D | main.h | 301 struct bpf_insn insn; 306 struct bpf_insn *paired_st; 462 struct bpf_insn insn = meta->insn; in is_mbpf_helper_call() 470 struct bpf_insn insn = meta->insn; in is_mbpf_pseudo_call() 571 struct bpf_insn *insn);
|
| /linux/arch/loongarch/net/ |
| H A D | bpf_jit.h | 55 static inline int bpf2la_offset(int bpf_insn, int off, const struct jit_ctx *ctx) in bpf2la_offset() argument 58 bpf_insn++; in bpf2la_offset() 64 return (ctx->offset[bpf_insn + off] - (ctx->offset[bpf_insn] - 1)); in bpf2la_offset()
|