/Linux-v4.19/net/sched/ |
D | cls_bpf.c | 88 struct cls_bpf_prog *prog; in cls_bpf_classify() local 93 list_for_each_entry_rcu(prog, &head->plist, link) { in cls_bpf_classify() 96 qdisc_skb_cb(skb)->tc_classid = prog->res.classid; in cls_bpf_classify() 98 if (tc_skip_sw(prog->gen_flags)) { in cls_bpf_classify() 99 filter_res = prog->exts_integrated ? TC_ACT_UNSPEC : 0; in cls_bpf_classify() 104 filter_res = BPF_PROG_RUN(prog->filter, skb); in cls_bpf_classify() 108 filter_res = BPF_PROG_RUN(prog->filter, skb); in cls_bpf_classify() 111 if (prog->exts_integrated) { in cls_bpf_classify() 113 res->classid = TC_H_MAJ(prog->res.classid) | in cls_bpf_classify() 128 *res = prog->res; in cls_bpf_classify() [all …]
|
D | act_bpf.c | 41 struct tcf_bpf *prog = to_bpf(act); in tcf_bpf_act() local 45 tcf_lastuse_update(&prog->tcf_tm); in tcf_bpf_act() 46 bstats_cpu_update(this_cpu_ptr(prog->common.cpu_bstats), skb); in tcf_bpf_act() 49 filter = rcu_dereference(prog->filter); in tcf_bpf_act() 80 qstats_drop_inc(this_cpu_ptr(prog->common.cpu_qstats)); in tcf_bpf_act() 83 action = prog->tcf_action; in tcf_bpf_act() 93 static bool tcf_bpf_is_ebpf(const struct tcf_bpf *prog) in tcf_bpf_is_ebpf() argument 95 return !prog->bpf_ops; in tcf_bpf_is_ebpf() 98 static int tcf_bpf_dump_bpf_info(const struct tcf_bpf *prog, in tcf_bpf_dump_bpf_info() argument 103 if (nla_put_u16(skb, TCA_ACT_BPF_OPS_LEN, prog->bpf_num_ops)) in tcf_bpf_dump_bpf_info() [all …]
|
/Linux-v4.19/tools/lib/bpf/ |
D | libbpf.c | 231 static void bpf_program__unload(struct bpf_program *prog) in bpf_program__unload() argument 235 if (!prog) in bpf_program__unload() 242 if (prog->instances.nr > 0) { in bpf_program__unload() 243 for (i = 0; i < prog->instances.nr; i++) in bpf_program__unload() 244 zclose(prog->instances.fds[i]); in bpf_program__unload() 245 } else if (prog->instances.nr != -1) { in bpf_program__unload() 247 prog->instances.nr); in bpf_program__unload() 250 prog->instances.nr = -1; in bpf_program__unload() 251 zfree(&prog->instances.fds); in bpf_program__unload() 254 static void bpf_program__exit(struct bpf_program *prog) in bpf_program__exit() argument [all …]
|
D | libbpf.h | 102 void *bpf_object__priv(struct bpf_object *prog); 109 struct bpf_program *bpf_program__next(struct bpf_program *prog, 120 int bpf_program__set_priv(struct bpf_program *prog, void *priv, 123 void *bpf_program__priv(struct bpf_program *prog); 124 void bpf_program__set_ifindex(struct bpf_program *prog, __u32 ifindex); 126 const char *bpf_program__title(struct bpf_program *prog, bool needs_copy); 128 int bpf_program__fd(struct bpf_program *prog); 129 int bpf_program__pin_instance(struct bpf_program *prog, const char *path, 131 int bpf_program__pin(struct bpf_program *prog, const char *path); 188 typedef int (*bpf_program_prep_t)(struct bpf_program *prog, int n, [all …]
|
/Linux-v4.19/scripts/ |
D | sphinx-pre-install | 83 foreach my $prog (sort keys %missing) { 84 my $is_optional = $missing{$prog}; 87 print "Warning: better to also install \"$prog\".\n"; 89 print "ERROR: please install \"$prog\", otherwise, build won't work.\n"; 91 if (defined($map{$prog})) { 92 $install .= " " . $map{$prog}; 94 $install .= " " . $prog; 134 my $prog = shift; 137 return if findprog($prog); 139 add_package($prog, $is_optional); [all …]
|
/Linux-v4.19/kernel/bpf/ |
D | syscall.c | 970 static int find_prog_type(enum bpf_prog_type type, struct bpf_prog *prog) in find_prog_type() argument 981 if (!bpf_prog_is_dev_bound(prog->aux)) in find_prog_type() 982 prog->aux->ops = ops; in find_prog_type() 984 prog->aux->ops = &bpf_offload_prog_ops; in find_prog_type() 985 prog->type = type; in find_prog_type() 995 bpf_cgroup_storage_release(aux->prog, aux->cgroup_storage); in free_used_maps() 1025 static int bpf_prog_charge_memlock(struct bpf_prog *prog) in bpf_prog_charge_memlock() argument 1030 ret = __bpf_prog_charge(user, prog->pages); in bpf_prog_charge_memlock() 1036 prog->aux->user = user; in bpf_prog_charge_memlock() 1040 static void bpf_prog_uncharge_memlock(struct bpf_prog *prog) in bpf_prog_uncharge_memlock() argument [all …]
|
D | offload.c | 78 int bpf_prog_offload_init(struct bpf_prog *prog, union bpf_attr *attr) in bpf_prog_offload_init() argument 95 offload->prog = prog; in bpf_prog_offload_init() 109 prog->aux->offload = offload; in bpf_prog_offload_init() 124 static int __bpf_offload_ndo(struct bpf_prog *prog, enum bpf_netdev_command cmd, in __bpf_offload_ndo() argument 127 struct bpf_prog_offload *offload = prog->aux->offload; in __bpf_offload_ndo() 146 data.verifier.prog = env->prog; in bpf_prog_offload_verifier_prep() 149 err = __bpf_offload_ndo(env->prog, BPF_OFFLOAD_VERIFIER_PREP, &data); in bpf_prog_offload_verifier_prep() 153 env->prog->aux->offload->dev_ops = data.verifier.ops; in bpf_prog_offload_verifier_prep() 154 env->prog->aux->offload->dev_state = true; in bpf_prog_offload_verifier_prep() 167 offload = env->prog->aux->offload; in bpf_prog_offload_verify_insn() [all …]
|
D | cgroup.c | 36 bpf_prog_put(pl->prog); in cgroup_bpf_put() 55 if (!pl->prog) in prog_list_length() 124 if (!pl->prog) in compute_effective_progs() 127 progs->items[cnt].prog = pl->prog; in compute_effective_progs() 230 int __cgroup_bpf_attach(struct cgroup *cgrp, struct bpf_prog *prog, in __cgroup_bpf_attach() argument 257 storage = bpf_cgroup_storage_alloc(prog); in __cgroup_bpf_attach() 263 if (pl->prog == prog) { in __cgroup_bpf_attach() 277 pl->prog = prog; in __cgroup_bpf_attach() 291 old_prog = pl->prog; in __cgroup_bpf_attach() 296 pl->prog = prog; in __cgroup_bpf_attach() [all …]
|
D | core.c | 97 fp->aux->prog = fp; in bpf_prog_alloc() 132 fp->aux->prog = fp; in bpf_prog_realloc() 256 static int bpf_adj_branches(struct bpf_prog *prog, u32 pos, u32 delta, in bpf_adj_branches() argument 259 u32 i, insn_cnt = prog->len + (probe_pass ? delta : 0); in bpf_adj_branches() 260 struct bpf_insn *insn = prog->insnsi; in bpf_adj_branches() 295 struct bpf_prog *bpf_patch_insn_single(struct bpf_prog *prog, u32 off, in bpf_patch_insn_single() argument 304 memcpy(prog->insnsi + off, patch, sizeof(*patch)); in bpf_patch_insn_single() 305 return prog; in bpf_patch_insn_single() 308 insn_adj_cnt = prog->len + insn_delta; in bpf_patch_insn_single() 316 bpf_adj_branches(prog, off, insn_delta, true)) in bpf_patch_insn_single() [all …]
|
D | local_storage.c | 21 struct bpf_prog *prog; member 255 int bpf_cgroup_storage_assign(struct bpf_prog *prog, struct bpf_map *_map) in bpf_cgroup_storage_assign() argument 262 if (map->prog && map->prog != prog) in bpf_cgroup_storage_assign() 264 if (prog->aux->cgroup_storage && prog->aux->cgroup_storage != _map) in bpf_cgroup_storage_assign() 267 map->prog = prog; in bpf_cgroup_storage_assign() 268 prog->aux->cgroup_storage = _map; in bpf_cgroup_storage_assign() 276 void bpf_cgroup_storage_release(struct bpf_prog *prog, struct bpf_map *_map) in bpf_cgroup_storage_release() argument 281 if (map->prog == prog) { in bpf_cgroup_storage_release() 282 WARN_ON(prog->aux->cgroup_storage != _map); in bpf_cgroup_storage_release() 283 map->prog = NULL; in bpf_cgroup_storage_release() [all …]
|
/Linux-v4.19/drivers/clk/at91/ |
D | clk-programmable.c | 46 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_recalc_rate() local 49 regmap_read(prog->regmap, AT91_PMC_PCKR(prog->id), &pckr); in clk_programmable_recalc_rate() 51 return parent_rate >> PROG_PRES(prog->layout, pckr); in clk_programmable_recalc_rate() 99 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_set_parent() local 100 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_set_parent() 114 regmap_update_bits(prog->regmap, AT91_PMC_PCKR(prog->id), mask, pckr); in clk_programmable_set_parent() 121 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_get_parent() local 122 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_get_parent() 126 regmap_read(prog->regmap, AT91_PMC_PCKR(prog->id), &pckr); in clk_programmable_get_parent() 139 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_set_rate() local [all …]
|
/Linux-v4.19/drivers/net/ethernet/netronome/nfp/bpf/ |
D | offload.c | 148 struct bpf_prog *prog) in nfp_map_ptrs_record() argument 154 for (i = 0; i < prog->aux->used_map_cnt; i++) in nfp_map_ptrs_record() 155 if (bpf_map_offload_neutral(prog->aux->used_maps[i])) in nfp_map_ptrs_record() 166 for (i = 0; i < prog->aux->used_map_cnt; i++) in nfp_map_ptrs_record() 167 if (bpf_map_offload_neutral(prog->aux->used_maps[i])) { in nfp_map_ptrs_record() 169 prog->aux->used_maps[i]); in nfp_map_ptrs_record() 181 nfp_prog_prepare(struct nfp_prog *nfp_prog, const struct bpf_insn *prog, in nfp_prog_prepare() argument 192 meta->insn = prog[i]; in nfp_prog_prepare() 222 struct bpf_prog *prog = bpf->verifier.prog; in nfp_bpf_verifier_prep() local 229 prog->aux->offload->dev_priv = nfp_prog; in nfp_bpf_verifier_prep() [all …]
|
/Linux-v4.19/drivers/net/netdevsim/ |
D | bpf.c | 31 struct bpf_prog *prog; member 79 state = env->prog->aux->offload->dev_priv; in nsim_bpf_verify_insn() 83 if (insn_idx == env->prog->len - 1) in nsim_bpf_verify_insn() 95 return ns->xdp_hw.prog; in nsim_xdp_offload_active() 98 static void nsim_prog_set_loaded(struct bpf_prog *prog, bool loaded) in nsim_prog_set_loaded() argument 102 if (!prog || !prog->aux->offload) in nsim_prog_set_loaded() 105 state = prog->aux->offload->dev_priv; in nsim_prog_set_loaded() 110 nsim_bpf_offload(struct netdevsim *ns, struct bpf_prog *prog, bool oldprog) in nsim_bpf_offload() argument 117 ns->bpf_offloaded = prog; in nsim_bpf_offload() 118 ns->bpf_offloaded_id = prog ? prog->aux->id : 0; in nsim_bpf_offload() [all …]
|
/Linux-v4.19/arch/x86/net/ |
D | bpf_jit_comp32.c | 64 do { prog = emit_code(prog, bytes, len); cnt += len; } while (0) 206 u8 *prog = *pprog; in emit_ia32_mov_i() local 227 *pprog = prog; in emit_ia32_mov_i() 234 u8 *prog = *pprog; in emit_ia32_mov_r() local 248 *pprog = prog; in emit_ia32_mov_r() 284 u8 *prog = *pprog; in emit_ia32_mul_r() local 310 *pprog = prog; in emit_ia32_mul_r() 316 u8 *prog = *pprog; in emit_ia32_to_le_r64() local 355 *pprog = prog; in emit_ia32_to_le_r64() 361 u8 *prog = *pprog; in emit_ia32_to_be_r64() local [all …]
|
D | bpf_jit_comp.c | 34 do { prog = emit_code(prog, bytes, len); cnt += len; } while (0) 203 u8 *prog = *pprog; in emit_prologue() local 244 *pprog = prog; in emit_prologue() 263 u8 *prog = *pprog; in emit_bpf_tail_call() local 325 *pprog = prog; in emit_bpf_tail_call() 331 u8 *prog = *pprog; in emit_mov_imm32() local 366 *pprog = prog; in emit_mov_imm32() 372 u8 *prog = *pprog; in emit_mov_imm64() local 382 emit_mov_imm32(&prog, false, dst_reg, imm32_lo); in emit_mov_imm64() 390 *pprog = prog; in emit_mov_imm64() [all …]
|
/Linux-v4.19/drivers/media/rc/ |
D | bpf-lirc.c | 63 lirc_mode2_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in lirc_mode2_func_proto() argument 93 const struct bpf_prog *prog, in lirc_mode2_is_valid_access() argument 107 static int lirc_bpf_attach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_attach() argument 133 ret = bpf_prog_array_copy(old_array, NULL, prog, &new_array); in lirc_bpf_attach() 145 static int lirc_bpf_detach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_detach() argument 166 ret = bpf_prog_array_copy(old_array, prog, NULL, &new_array); in lirc_bpf_detach() 177 bpf_prog_put(prog); in lirc_bpf_detach() 205 while (item->prog) { in lirc_bpf_free() 206 bpf_prog_put(item->prog); in lirc_bpf_free() 213 int lirc_prog_attach(const union bpf_attr *attr, struct bpf_prog *prog) in lirc_prog_attach() argument [all …]
|
/Linux-v4.19/net/core/ |
D | lwt_bpf.c | 21 struct bpf_prog *prog; member 54 ret = bpf_prog_run_save_cb(lwt->prog, skb); in run_lwt_bpf() 96 if (bpf->in.prog) { in bpf_input() 119 if (bpf->out.prog) { in bpf_output() 155 if (bpf->xmit.prog) { in bpf_xmit() 179 static void bpf_lwt_prog_destroy(struct bpf_lwt_prog *prog) in bpf_lwt_prog_destroy() argument 181 if (prog->prog) in bpf_lwt_prog_destroy() 182 bpf_prog_put(prog->prog); in bpf_lwt_prog_destroy() 184 kfree(prog->name); in bpf_lwt_prog_destroy() 202 static int bpf_parse_prog(struct nlattr *attr, struct bpf_lwt_prog *prog, in bpf_parse_prog() argument [all …]
|
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() 223 struct bpf_prog *prog, struct sk_buff *skb, in run_bpf_filter() argument 241 index = bpf_prog_run_save_cb(prog, skb); in run_bpf_filter() 268 struct bpf_prog *prog; in reuseport_select_sock() local 279 prog = rcu_dereference(reuse->prog); in reuseport_select_sock() 285 if (!prog || !skb) in reuseport_select_sock() 288 if (prog->type == BPF_PROG_TYPE_SK_REUSEPORT) in reuseport_select_sock() 289 sk2 = bpf_run_sk_reuseport(reuse, sk, prog, skb, hash); in reuseport_select_sock() [all …]
|
/Linux-v4.19/tools/bpf/bpftool/Documentation/ |
D | bpftool-prog.rst | 2 bpftool-prog 13 **bpftool** [*OPTIONS*] **prog** *COMMAND* 23 | **bpftool** **prog { show | list }** [*PROG*] 24 | **bpftool** **prog dump xlated** *PROG* [{**file** *FILE* | **opcodes** | **visual**}] 25 | **bpftool** **prog dump jited** *PROG* [{**file** *FILE* | **opcodes**}] 26 | **bpftool** **prog pin** *PROG* *FILE* 27 | **bpftool** **prog load** *OBJ* *FILE* [**type** *TYPE*] [**map** {**idx** *IDX* | **name** *NAME… 28 | **bpftool** **prog help** 44 **bpftool prog { show | list }** [*PROG*] 52 **bpftool prog dump xlated** *PROG* [{ **file** *FILE* | **opcodes** | **visual** }] [all …]
|
/Linux-v4.19/include/linux/ |
D | bpf.h | 232 int (*test_run)(struct bpf_prog *prog, const union bpf_attr *kattr, 240 const struct bpf_prog *prog); 246 const struct bpf_prog *prog, 249 const struct bpf_prog *prog); 255 struct bpf_prog *prog, u32 *target_size); 264 struct bpf_prog *prog; member 288 struct bpf_prog *prog; member 341 int bpf_prog_test_run_xdp(struct bpf_prog *prog, const union bpf_attr *kattr, 343 int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr, 359 struct bpf_prog *prog; member [all …]
|
/Linux-v4.19/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-v4.19/kernel/trace/ |
D | trace_events_filter.c | 116 static void update_preds(struct prog_entry *prog, int N, int invert) in update_preds() argument 120 t = prog[N].target; in update_preds() 121 s = prog[t].target; in update_preds() 122 prog[t].when_to_branch = invert; in update_preds() 123 prog[t].target = N; in update_preds() 124 prog[N].target = s; in update_preds() 414 struct prog_entry *prog; in predicate_parse() local 442 prog = prog_stack; in predicate_parse() 471 prog[N].target = N-1; in predicate_parse() 473 len = parse_pred(next, data, ptr - str, pe, &prog[N].pred); in predicate_parse() [all …]
|
/Linux-v4.19/samples/bpf/ |
D | load_sock_ops.c | 41 char *prog; in main() local 65 prog = argv[argc - 1]; in main() 67 if (strlen(prog) > 480) { in main() 73 if (!strcmp(prog + strlen(prog)-2, ".o")) in main() 74 strcpy(fn, prog); in main() 76 sprintf(fn, "%s_kern.o", prog); in main()
|
/Linux-v4.19/tools/testing/selftests/seccomp/ |
D | seccomp_bpf.c | 235 struct sock_fprog prog = { in TEST() local 246 ret = prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog, 0, 0); in TEST() 267 struct sock_fprog prog = { }; in TEST() local 279 prog.filter = filter; in TEST() 280 prog.len = count; in TEST() 283 ret = prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog, 0, 0); in TEST() 285 TH_LOG("Installing %d insn filter was allowed", prog.len); in TEST() 289 prog.len -= 1; in TEST() 290 ret = prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, &prog, 0, 0); in TEST() 292 TH_LOG("Installing %d insn filter wasn't allowed", prog.len); in TEST() [all …]
|
/Linux-v4.19/arch/arm64/net/ |
D | bpf_jit_comp.c | 66 const struct bpf_prog *prog; member 190 const struct bpf_prog *prog = ctx->prog; in build_prologue() local 247 ctx->stack_size = STACK_ALIGN(prog->aux->stack_depth); in build_prologue() 364 const int i = insn - ctx->prog->insnsi; in build_insn() 630 if (ctx->prog->is_func) in build_insn() 647 if (i == ctx->prog->len - 1) in build_insn() 758 const struct bpf_prog *prog = ctx->prog; in build_body() local 761 for (i = 0; i < prog->len; i++) { in build_body() 762 const struct bpf_insn *insn = &prog->insnsi[i]; in build_body() 806 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) in bpf_int_jit_compile() argument [all …]
|