/Linux-v5.4/net/sched/ |
D | cls_bpf.c | 85 struct cls_bpf_prog *prog; in cls_bpf_classify() local 90 list_for_each_entry_rcu(prog, &head->plist, link) { in cls_bpf_classify() 93 qdisc_skb_cb(skb)->tc_classid = prog->res.classid; in cls_bpf_classify() 95 if (tc_skip_sw(prog->gen_flags)) { in cls_bpf_classify() 96 filter_res = prog->exts_integrated ? TC_ACT_UNSPEC : 0; in cls_bpf_classify() 101 filter_res = BPF_PROG_RUN(prog->filter, skb); in cls_bpf_classify() 105 filter_res = BPF_PROG_RUN(prog->filter, skb); in cls_bpf_classify() 108 if (prog->exts_integrated) { in cls_bpf_classify() 110 res->classid = TC_H_MAJ(prog->res.classid) | in cls_bpf_classify() 125 *res = prog->res; in cls_bpf_classify() [all …]
|
D | act_bpf.c | 38 struct tcf_bpf *prog = to_bpf(act); in tcf_bpf_act() local 42 tcf_lastuse_update(&prog->tcf_tm); in tcf_bpf_act() 43 bstats_cpu_update(this_cpu_ptr(prog->common.cpu_bstats), skb); in tcf_bpf_act() 46 filter = rcu_dereference(prog->filter); in tcf_bpf_act() 77 qstats_drop_inc(this_cpu_ptr(prog->common.cpu_qstats)); in tcf_bpf_act() 80 action = prog->tcf_action; in tcf_bpf_act() 90 static bool tcf_bpf_is_ebpf(const struct tcf_bpf *prog) in tcf_bpf_is_ebpf() argument 92 return !prog->bpf_ops; in tcf_bpf_is_ebpf() 95 static int tcf_bpf_dump_bpf_info(const struct tcf_bpf *prog, in tcf_bpf_dump_bpf_info() argument 100 if (nla_put_u16(skb, TCA_ACT_BPF_OPS_LEN, prog->bpf_num_ops)) in tcf_bpf_dump_bpf_info() [all …]
|
/Linux-v5.4/drivers/clk/at91/ |
D | clk-programmable.c | 33 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_recalc_rate() local 34 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_recalc_rate() 38 regmap_read(prog->regmap, AT91_PMC_PCKR(prog->id), &pckr); in clk_programmable_recalc_rate() 51 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_determine_rate() local 52 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_determine_rate() 103 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_set_parent() local 104 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_set_parent() 118 regmap_update_bits(prog->regmap, AT91_PMC_PCKR(prog->id), mask, pckr); in clk_programmable_set_parent() 125 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_get_parent() local 126 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_get_parent() [all …]
|
/Linux-v5.4/scripts/ |
D | sphinx-pre-install | 83 foreach my $prog (sort keys %missing) { 84 my $is_optional = $missing{$prog}; 98 print "Warning: better to also install \"$prog\".\n"; 100 print "ERROR: please install \"$prog\", otherwise, build won't work.\n"; 102 if (defined($map{$prog})) { 103 $install .= " " . $map{$prog}; 105 $install .= " " . $prog; 145 my $prog = shift; 148 return if findprog($prog); 150 add_package($prog, $is_optional); [all …]
|
/Linux-v5.4/kernel/bpf/ |
D | syscall.c | 1202 static int find_prog_type(enum bpf_prog_type type, struct bpf_prog *prog) in find_prog_type() argument 1213 if (!bpf_prog_is_dev_bound(prog->aux)) in find_prog_type() 1214 prog->aux->ops = ops; in find_prog_type() 1216 prog->aux->ops = &bpf_offload_prog_ops; in find_prog_type() 1217 prog->type = type; in find_prog_type() 1230 bpf_cgroup_storage_release(aux->prog, in free_used_maps() 1262 static int bpf_prog_charge_memlock(struct bpf_prog *prog) in bpf_prog_charge_memlock() argument 1267 ret = __bpf_prog_charge(user, prog->pages); in bpf_prog_charge_memlock() 1273 prog->aux->user = user; in bpf_prog_charge_memlock() 1277 static void bpf_prog_uncharge_memlock(struct bpf_prog *prog) in bpf_prog_uncharge_memlock() argument [all …]
|
D | core.c | 96 fp->aux->prog = fp; in bpf_prog_alloc_no_stats() 107 struct bpf_prog *prog; in bpf_prog_alloc() local 110 prog = bpf_prog_alloc_no_stats(size, gfp_extra_flags); in bpf_prog_alloc() 111 if (!prog) in bpf_prog_alloc() 114 prog->aux->stats = alloc_percpu_gfp(struct bpf_prog_stats, gfp_flags); in bpf_prog_alloc() 115 if (!prog->aux->stats) { in bpf_prog_alloc() 116 kfree(prog->aux); in bpf_prog_alloc() 117 vfree(prog); in bpf_prog_alloc() 124 pstats = per_cpu_ptr(prog->aux->stats, cpu); in bpf_prog_alloc() 127 return prog; in bpf_prog_alloc() [all …]
|
D | offload.c | 80 int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr) in bpf_prog_offload_init() argument 97 offload->prog = prog; in bpf_prog_offload_init() 112 prog->aux->offload = offload; in bpf_prog_offload_init() 127 int bpf_prog_offload_verifier_prep(struct bpf_prog *prog) in bpf_prog_offload_verifier_prep() argument 133 offload = prog->aux->offload; in bpf_prog_offload_verifier_prep() 135 ret = offload->offdev->ops->prepare(prog); in bpf_prog_offload_verifier_prep() 150 offload = env->prog->aux->offload; in bpf_prog_offload_verify_insn() 165 offload = env->prog->aux->offload; in bpf_prog_offload_finalize() 186 offload = env->prog->aux->offload; in bpf_prog_offload_replace_insn() 203 offload = env->prog->aux->offload; in bpf_prog_offload_remove_insns() [all …]
|
D | cgroup.c | 52 bpf_prog_put(pl->prog); in cgroup_bpf_release() 94 if (!pl->prog) in prog_list_length() 164 if (!pl->prog) in compute_effective_progs() 167 progs->items[cnt].prog = pl->prog; in compute_effective_progs() 291 int __cgroup_bpf_attach(struct cgroup *cgrp, struct bpf_prog *prog, in __cgroup_bpf_attach() argument 321 storage[stype] = bpf_cgroup_storage_alloc(prog, stype); in __cgroup_bpf_attach() 332 if (pl->prog == prog) { in __cgroup_bpf_attach() 348 pl->prog = prog; in __cgroup_bpf_attach() 364 old_prog = pl->prog; in __cgroup_bpf_attach() 371 pl->prog = prog; in __cgroup_bpf_attach() [all …]
|
/Linux-v5.4/tools/lib/bpf/ |
D | libbpf.h | 123 LIBBPF_API void *bpf_object__priv(const struct bpf_object *prog); 133 LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog, 141 LIBBPF_API struct bpf_program *bpf_program__prev(struct bpf_program *prog, 146 LIBBPF_API int bpf_program__set_priv(struct bpf_program *prog, void *priv, 149 LIBBPF_API void *bpf_program__priv(const struct bpf_program *prog); 150 LIBBPF_API void bpf_program__set_ifindex(struct bpf_program *prog, 153 LIBBPF_API const char *bpf_program__title(const struct bpf_program *prog, 156 LIBBPF_API int bpf_program__load(struct bpf_program *prog, char *license, 158 LIBBPF_API int bpf_program__fd(const struct bpf_program *prog); 159 LIBBPF_API int bpf_program__pin_instance(struct bpf_program *prog, [all …]
|
D | libbpf.c | 298 void bpf_program__unload(struct bpf_program *prog) in bpf_program__unload() argument 302 if (!prog) in bpf_program__unload() 309 if (prog->instances.nr > 0) { in bpf_program__unload() 310 for (i = 0; i < prog->instances.nr; i++) in bpf_program__unload() 311 zclose(prog->instances.fds[i]); in bpf_program__unload() 312 } else if (prog->instances.nr != -1) { in bpf_program__unload() 314 prog->instances.nr); in bpf_program__unload() 317 prog->instances.nr = -1; in bpf_program__unload() 318 zfree(&prog->instances.fds); in bpf_program__unload() 320 zfree(&prog->func_info); in bpf_program__unload() [all …]
|
/Linux-v5.4/drivers/net/netdevsim/ |
D | bpf.c | 31 struct bpf_prog *prog; member 67 state = env->prog->aux->offload->dev_priv; in nsim_bpf_verify_insn() 71 if (insn_idx == env->prog->len - 1) in nsim_bpf_verify_insn() 84 return ns->xdp_hw.prog; in nsim_xdp_offload_active() 87 static void nsim_prog_set_loaded(struct bpf_prog *prog, bool loaded) in nsim_prog_set_loaded() argument 91 if (!prog || !prog->aux->offload) in nsim_prog_set_loaded() 94 state = prog->aux->offload->dev_priv; in nsim_prog_set_loaded() 99 nsim_bpf_offload(struct netdevsim *ns, struct bpf_prog *prog, bool oldprog) in nsim_bpf_offload() argument 106 ns->bpf_offloaded = prog; in nsim_bpf_offload() 107 ns->bpf_offloaded_id = prog ? prog->aux->id : 0; in nsim_bpf_offload() [all …]
|
/Linux-v5.4/arch/x86/net/ |
D | bpf_jit_comp32.c | 64 do { prog = emit_code(prog, bytes, len); cnt += len; } while (0) 208 u8 *prog = *pprog; in emit_ia32_mov_i() local 229 *pprog = prog; in emit_ia32_mov_i() 236 u8 *prog = *pprog; in emit_ia32_mov_r() local 250 *pprog = prog; in emit_ia32_mov_r() 287 u8 *prog = *pprog; in emit_ia32_mul_r() local 313 *pprog = prog; in emit_ia32_mul_r() 320 u8 *prog = *pprog; in emit_ia32_to_le_r64() local 361 *pprog = prog; in emit_ia32_to_le_r64() 368 u8 *prog = *pprog; in emit_ia32_to_be_r64() local [all …]
|
D | bpf_jit_comp.c | 30 do { prog = emit_code(prog, bytes, len); cnt += len; } while (0) 197 u8 *prog = *pprog; in emit_prologue() local 213 *pprog = prog; in emit_prologue() 232 u8 *prog = *pprog; in emit_bpf_tail_call() local 294 *pprog = prog; in emit_bpf_tail_call() 300 u8 *prog = *pprog; in emit_mov_imm32() local 335 *pprog = prog; in emit_mov_imm32() 341 u8 *prog = *pprog; in emit_mov_imm64() local 351 emit_mov_imm32(&prog, false, dst_reg, imm32_lo); in emit_mov_imm64() 359 *pprog = prog; in emit_mov_imm64() [all …]
|
/Linux-v5.4/drivers/net/ethernet/netronome/nfp/bpf/ |
D | offload.c | 114 struct bpf_prog *prog) in nfp_map_ptrs_record() argument 120 for (i = 0; i < prog->aux->used_map_cnt; i++) in nfp_map_ptrs_record() 121 if (bpf_map_offload_neutral(prog->aux->used_maps[i])) in nfp_map_ptrs_record() 132 for (i = 0; i < prog->aux->used_map_cnt; i++) in nfp_map_ptrs_record() 133 if (bpf_map_offload_neutral(prog->aux->used_maps[i])) { in nfp_map_ptrs_record() 135 prog->aux->used_maps[i]); in nfp_map_ptrs_record() 147 nfp_prog_prepare(struct nfp_prog *nfp_prog, const struct bpf_insn *prog, in nfp_prog_prepare() argument 158 meta->insn = prog[i]; in nfp_prog_prepare() 187 static int nfp_bpf_verifier_prep(struct bpf_prog *prog) in nfp_bpf_verifier_prep() argument 195 prog->aux->offload->dev_priv = nfp_prog; in nfp_bpf_verifier_prep() [all …]
|
/Linux-v5.4/drivers/media/rc/ |
D | bpf-lirc.c | 88 lirc_mode2_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in lirc_mode2_func_proto() argument 126 const struct bpf_prog *prog, in lirc_mode2_is_valid_access() argument 140 static int lirc_bpf_attach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_attach() argument 166 ret = bpf_prog_array_copy(old_array, NULL, prog, &new_array); in lirc_bpf_attach() 178 static int lirc_bpf_detach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_detach() argument 199 ret = bpf_prog_array_copy(old_array, prog, NULL, &new_array); in lirc_bpf_detach() 210 bpf_prog_put(prog); in lirc_bpf_detach() 241 for (item = array->items; item->prog; item++) in lirc_bpf_free() 242 bpf_prog_put(item->prog); in lirc_bpf_free() 247 int lirc_prog_attach(const union bpf_attr *attr, struct bpf_prog *prog) in lirc_prog_attach() argument [all …]
|
/Linux-v5.4/include/linux/ |
D | bpf.h | 301 int (*test_run)(struct bpf_prog *prog, const union bpf_attr *kattr, 309 const struct bpf_prog *prog); 315 const struct bpf_prog *prog, 318 const struct bpf_prog *prog); 324 struct bpf_prog *prog, u32 *target_size); 337 int (*prepare)(struct bpf_prog *prog); 338 int (*translate)(struct bpf_prog *prog); 339 void (*destroy)(struct bpf_prog *prog); 343 struct bpf_prog *prog; member 386 struct bpf_prog *prog; member [all …]
|
D | filter.h | 551 struct bpf_prog *prog; member 556 #define BPF_PROG_RUN(prog, ctx) ({ \ argument 562 ret = (*(prog)->bpf_func)(ctx, (prog)->insnsi); \ 563 stats = this_cpu_ptr(prog->aux->stats); \ 569 ret = (*(prog)->bpf_func)(ctx, (prog)->insnsi); \ 650 static inline u32 __bpf_prog_run_save_cb(const struct bpf_prog *prog, in __bpf_prog_run_save_cb() argument 657 if (unlikely(prog->cb_access)) { in __bpf_prog_run_save_cb() 662 res = BPF_PROG_RUN(prog, skb); in __bpf_prog_run_save_cb() 664 if (unlikely(prog->cb_access)) in __bpf_prog_run_save_cb() 670 static inline u32 bpf_prog_run_save_cb(const struct bpf_prog *prog, in bpf_prog_run_save_cb() argument [all …]
|
/Linux-v5.4/net/core/ |
D | sock_reuseport.c | 51 RCU_INIT_POINTER(reuse->prog, NULL); in __reuseport_alloc() 112 more_reuse->prog = reuse->prog; in reuseport_grow() 137 sk_reuseport_prog_free(rcu_dereference_protected(reuse->prog, 1)); in reuseport_free_rcu() 226 struct bpf_prog *prog, struct sk_buff *skb, in run_bpf_filter() argument 244 index = bpf_prog_run_save_cb(prog, skb); in run_bpf_filter() 271 struct bpf_prog *prog; in reuseport_select_sock() local 282 prog = rcu_dereference(reuse->prog); in reuseport_select_sock() 288 if (!prog || !skb) in reuseport_select_sock() 291 if (prog->type == BPF_PROG_TYPE_SK_REUSEPORT) in reuseport_select_sock() 292 sk2 = bpf_run_sk_reuseport(reuse, sk, prog, skb, hash); in reuseport_select_sock() [all …]
|
/Linux-v5.4/tools/testing/selftests/bpf/prog_tests/ |
D | signal_pending.c | 11 struct bpf_insn prog[4096]; in test_signal_pending_by_type() local 20 for (i = 0; i < ARRAY_SIZE(prog); i++) in test_signal_pending_by_type() 21 prog[i] = BPF_ALU64_IMM(BPF_MOV, BPF_REG_0, 0); in test_signal_pending_by_type() 22 prog[ARRAY_SIZE(prog) - 1] = BPF_EXIT_INSN(); in test_signal_pending_by_type() 24 prog_fd = bpf_load_program(prog_type, prog, ARRAY_SIZE(prog), in test_signal_pending_by_type()
|
D | reference_tracking.c | 8 struct bpf_program *prog; in test_reference_tracking() local 16 bpf_object__for_each_program(prog, obj) { in test_reference_tracking() 20 title = bpf_program__title(prog, false); in test_reference_tracking() 24 bpf_program__set_type(prog, BPF_PROG_TYPE_SCHED_CLS); in test_reference_tracking() 31 err = !bpf_program__load(prog, "GPL", 0); in test_reference_tracking() 34 err = bpf_program__load(prog, "GPL", 0); in test_reference_tracking()
|
/Linux-v5.4/arch/sparc/net/ |
D | bpf_jit_comp_32.c | 108 *prog++ = SETHI(0, G0); \ 113 *prog++ = SUB | RS1(G0) | RS2(r_A) | RD(r_A); \ 118 *prog++ = OR | RS1(G0) | RS2(FROM) | RD(TO); \ 123 *prog++ = OR | RS1(G0) | RS2(G0) | RD(REG); \ 128 *prog++ = SETHI(K, REG); \ 130 *prog++ = OR_LO(K, REG); \ 140 *prog++ = OPCODE | RS1(r_A) | RS2(r_X) | RD(r_A); \ 163 *prog++ = _insn | IMMED | S13(K); \ 166 *prog++ = _insn | RS2(r_TMP); \ 175 *prog++ = OR | IMMED | RS1(G0) | S13(K) | RD(DEST); \ [all …]
|
/Linux-v5.4/tools/bpf/bpftool/Documentation/ |
D | bpftool-prog.rst | 2 bpftool-prog 13 **bpftool** [*OPTIONS*] **prog** *COMMAND* 24 | **bpftool** **prog { show | list }** [*PROG*] 25 | **bpftool** **prog dump xlated** *PROG* [{**file** *FILE* | **opcodes** | **visual** | **linum**}] 26 | **bpftool** **prog dump jited** *PROG* [{**file** *FILE* | **opcodes** | **linum**}] 27 | **bpftool** **prog pin** *PROG* *FILE* 28 | **bpftool** **prog { load | loadall }** *OBJ* *PATH* [**type** *TYPE*] [**map** {**idx** *IDX* | … 29 | **bpftool** **prog attach** *PROG* *ATTACH_TYPE* [*MAP*] 30 | **bpftool** **prog detach** *PROG* *ATTACH_TYPE* [*MAP*] 31 | **bpftool** **prog tracelog** [all …]
|
/Linux-v5.4/kernel/trace/ |
D | trace_events_filter.c | 117 static void update_preds(struct prog_entry *prog, int N, int invert) in update_preds() argument 121 t = prog[N].target; in update_preds() 122 s = prog[t].target; in update_preds() 123 prog[t].when_to_branch = invert; in update_preds() 124 prog[t].target = N; in update_preds() 125 prog[N].target = s; in update_preds() 415 struct prog_entry *prog; in predicate_parse() local 443 prog = prog_stack; in predicate_parse() 474 prog[N].target = N-1; in predicate_parse() 476 len = parse_pred(next, data, ptr - str, pe, &prog[N].pred); in predicate_parse() [all …]
|
D | bpf_trace.c | 687 tracing_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in tracing_func_proto() argument 744 kprobe_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in kprobe_prog_func_proto() argument 760 return tracing_func_proto(func_id, prog); in kprobe_prog_func_proto() 766 const struct bpf_prog *prog, in kprobe_prog_is_valid_access() argument 860 tp_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in tp_prog_func_proto() argument 870 return tracing_func_proto(func_id, prog); in tp_prog_func_proto() 875 const struct bpf_prog *prog, in tp_prog_is_valid_access() argument 924 pe_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in pe_prog_func_proto() argument 936 return tracing_func_proto(func_id, prog); in pe_prog_func_proto() 1051 raw_tp_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in raw_tp_prog_func_proto() argument [all …]
|
/Linux-v5.4/arch/arm64/net/ |
D | bpf_jit_comp.c | 55 const struct bpf_prog *prog; member 178 const struct bpf_prog *prog = ctx->prog; in build_prologue() local 235 ctx->stack_size = STACK_ALIGN(prog->aux->stack_depth); in build_prologue() 353 const int i = insn - ctx->prog->insnsi; in build_insn() 642 ret = bpf_jit_get_func_addr(ctx->prog, insn, extra_pass, in build_insn() 660 if (i == ctx->prog->len - 1) in build_insn() 780 const struct bpf_prog *prog = ctx->prog; in build_body() local 783 for (i = 0; i < prog->len; i++) { in build_body() 784 const struct bpf_insn *insn = &prog->insnsi[i]; in build_body() 828 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) in bpf_int_jit_compile() argument [all …]
|