| /linux/net/sched/ |
| H A D | cls_bpf.c | 87 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() 100 filter_res = bpf_prog_run_data_pointers(prog->filter, skb); in cls_bpf_classify() 103 filter_res = bpf_prog_run_data_pointers(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 …]
|
| H A D | act_bpf.c | 40 struct tcf_bpf *prog = to_bpf(act); in tcf_bpf_act() local 44 tcf_lastuse_update(&prog->tcf_tm); in tcf_bpf_act() 45 bstats_update(this_cpu_ptr(prog->common.cpu_bstats), skb); in tcf_bpf_act() 47 filter = rcu_dereference(prog->filter); in tcf_bpf_act() 79 qstats_drop_inc(this_cpu_ptr(prog->common.cpu_qstats)); in tcf_bpf_act() 82 action = prog->tcf_action; in tcf_bpf_act() 92 static bool tcf_bpf_is_ebpf(const struct tcf_bpf *prog) in tcf_bpf_is_ebpf() argument 94 return !prog->bpf_ops; in tcf_bpf_is_ebpf() 97 static int tcf_bpf_dump_bpf_info(const struct tcf_bpf *prog, in tcf_bpf_dump_bpf_info() argument 102 if (nla_put_u16(skb, TCA_ACT_BPF_OPS_LEN, prog->bpf_num_ops)) in tcf_bpf_dump_bpf_info() [all …]
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | exceptions.c | 94 struct bpf_program *prog = NULL; \ in test_exceptions_success() 99 ASSERT_OK_PTR(bpf_program__name(prog), bpf_program__name(prog)); \ in test_exceptions_success() 112 if (!ASSERT_ERR_PTR(link = bpf_program__attach(prog), "attach err")) \ in test_exceptions_success() 115 if (!ASSERT_OK_PTR(link = bpf_program__attach(prog), "attach ok")) \ in test_exceptions_success() 124 prog = eskel->progs.pfentry; in test_exceptions_success() 125 bpf_program__set_autoload(prog, true); in test_exceptions_success() 126 if (!ASSERT_OK(bpf_program__set_attach_target(prog, in test_exceptions_success() 134 prog = eskel->progs.throwing_fentry; in test_exceptions_success() 135 bpf_program__set_autoload(prog, true); in test_exceptions_success() 136 if (!ASSERT_OK(bpf_program__set_attach_target(prog, in test_exceptions_success() [all …]
|
| H A D | tailcalls.c | 20 struct bpf_program *prog; in test_tailcall_1() local 35 prog = bpf_object__find_program_by_name(obj, "entry"); in test_tailcall_1() 36 if (CHECK_FAIL(!prog)) in test_tailcall_1() 39 main_fd = bpf_program__fd(prog); in test_tailcall_1() 54 prog = bpf_object__find_program_by_name(obj, prog_name); in test_tailcall_1() 55 if (CHECK_FAIL(!prog)) in test_tailcall_1() 58 prog_fd = bpf_program__fd(prog); in test_tailcall_1() 84 prog = bpf_object__find_program_by_name(obj, prog_name); in test_tailcall_1() 85 if (CHECK_FAIL(!prog)) in test_tailcall_1() 88 prog_fd = bpf_program__fd(prog); in test_tailcall_1() [all …]
|
| H A D | trampoline_count.c | 13 struct bpf_program *prog; in load_prog() local 26 prog = bpf_object__find_program_by_name(obj, name); in load_prog() 27 if (!ASSERT_OK_PTR(prog, "obj_find_prog")) in load_prog() 30 return prog; in load_prog() 39 struct bpf_program *prog; in serial_test_trampoline_count() local 53 prog = load_prog(file, progs[i % ARRAY_SIZE(progs)], &inst[i]); in serial_test_trampoline_count() 54 if (!prog) in serial_test_trampoline_count() 57 link = bpf_program__attach(prog); in serial_test_trampoline_count() 65 prog = load_prog(file, "fmod_ret_test", &inst[i]); in serial_test_trampoline_count() 66 if (!prog) in serial_test_trampoline_count() [all …]
|
| H A D | trace_ext.c | 24 struct bpf_program *prog; in test_trace_ext() local 42 prog = skel_pkt->progs.test_pkt_md_access; in test_trace_ext() 43 pkt_fd = bpf_program__fd(prog); in test_trace_ext() 51 prog = skel_ext->progs.test_pkt_md_access_new; in test_trace_ext() 52 bpf_program__set_attach_target(prog, pkt_fd, "test_pkt_md_access"); in test_trace_ext() 66 prog = skel_ext->progs.test_pkt_md_access_new; in test_trace_ext() 67 ext_fd = bpf_program__fd(prog); in test_trace_ext() 75 prog = skel_trace->progs.fentry; in test_trace_ext() 76 bpf_program__set_attach_target(prog, ext_fd, "test_pkt_md_access_new"); in test_trace_ext() 79 prog = skel_trace->progs.fexit; in test_trace_ext() [all …]
|
| H A D | fexit_bpf2bpf.c | 66 struct bpf_program **prog = NULL, *p; in test_fexit_bpf2bpf_common() local 93 prog = calloc(sizeof(struct bpf_program *), prog_cnt); in test_fexit_bpf2bpf_common() 94 if (!ASSERT_OK_PTR(prog, "prog_ptr")) in test_fexit_bpf2bpf_common() 122 prog[i] = NULL; in test_fexit_bpf2bpf_common() 126 prog[i] = pos; in test_fexit_bpf2bpf_common() 130 if (!ASSERT_OK_PTR(prog[i], prog_name[i])) in test_fexit_bpf2bpf_common() 133 link[i] = bpf_program__attach_trace(prog[i]); in test_fexit_bpf2bpf_common() 143 bpf_program__expected_attach_type(prog[i]), in test_fexit_bpf2bpf_common() 171 free(prog); in test_fexit_bpf2bpf_common() 233 struct bpf_program *prog = NULL; in test_second_attach() local [all …]
|
| /linux/arch/parisc/net/ |
| H A D | bpf_jit_core.c | 18 const struct bpf_prog *prog = ctx->prog; in build_body() local 22 for (i = 0; i < prog->len; i++) { in build_body() 23 const struct bpf_insn *insn = &prog->insnsi[i]; in build_body() 44 struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog) in bpf_int_jit_compile() argument 48 struct bpf_prog *tmp, *orig_prog = prog; in bpf_int_jit_compile() 53 if (!prog->jit_requested) in bpf_int_jit_compile() 56 tmp = bpf_jit_blind_constants(prog); in bpf_int_jit_compile() 59 if (tmp != prog) { in bpf_int_jit_compile() 61 prog = tmp; in bpf_int_jit_compile() 64 jit_data = prog->aux->jit_data; in bpf_int_jit_compile() [all …]
|
| /linux/drivers/clk/at91/ |
| H A D | clk-programmable.c | 35 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_recalc_rate() local 36 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_recalc_rate() 40 regmap_read(prog->regmap, AT91_PMC_PCKR(prog->id), &pckr); in clk_programmable_recalc_rate() 53 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_determine_rate() local 54 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_determine_rate() 105 struct clk_programmable *prog = to_clk_programmable(hw); in clk_programmable_set_parent() local 106 const struct clk_programmable_layout *layout = prog->layout; in clk_programmable_set_parent() 113 if (prog->mux_table) in clk_programmable_set_parent() 114 pckr = clk_mux_index_to_val(prog->mux_table, 0, index); in clk_programmable_set_parent() 123 regmap_update_bits(prog->regmap, AT91_PMC_PCKR(prog->id), mask, pckr); in clk_programmable_set_parent() [all …]
|
| /linux/tools/workqueue/ |
| H A D | wq_dump.py | 95 worker_pool_idr = prog['worker_pool_idr'] 96 workqueues = prog['workqueues'] 97 wq_unbound_cpumask = prog['wq_unbound_cpumask'] 98 wq_pod_types = prog['wq_pod_types'] 99 wq_affn_dfl = prog['wq_affn_dfl'] 100 wq_affn_names = prog['wq_affn_names'] 102 WQ_BH = prog['WQ_BH'] 103 WQ_UNBOUND = prog['WQ_UNBOUND'] 104 WQ_ORDERED = prog['__WQ_ORDERED'] 105 WQ_MEM_RECLAIM = prog['WQ_MEM_RECLAIM'] [all …]
|
| H A D | wq_monitor.py | 54 workqueues = prog['workqueues'] 56 WQ_UNBOUND = prog['WQ_UNBOUND'] 57 WQ_MEM_RECLAIM = prog['WQ_MEM_RECLAIM'] 59 PWQ_STAT_STARTED = prog['PWQ_STAT_STARTED'] # work items started execution 60 PWQ_STAT_COMPLETED = prog['PWQ_STAT_COMPLETED'] # work items completed execution 61 PWQ_STAT_CPU_TIME = prog['PWQ_STAT_CPU_TIME'] # total CPU time consumed 62 PWQ_STAT_CPU_INTENSIVE = prog['PWQ_STAT_CPU_INTENSIVE'] # wq_cpu_intensive_thresh_us violations 63 PWQ_STAT_CM_WAKEUP = prog['PWQ_STAT_CM_WAKEUP'] # concurrency-management worker wakeups 64 PWQ_STAT_REPATRIATED = prog['PWQ_STAT_REPATRIATED'] # unbound workers brought back into scope 65 PWQ_STAT_MAYDAY = prog['PWQ_STAT_MAYDAY'] # maydays to rescuer [all …]
|
| /linux/kernel/bpf/ |
| H A D | mprog.c | 20 if (type && link->prog->type != type) { in bpf_mprog_link() 26 tuple->prog = link->prog; in bpf_mprog_link() 34 struct bpf_prog *prog = ERR_PTR(-EINVAL); in bpf_mprog_prog() local 38 prog = bpf_prog_by_id(id_or_fd); in bpf_mprog_prog() 40 prog = bpf_prog_get(id_or_fd); in bpf_mprog_prog() 41 if (IS_ERR(prog)) in bpf_mprog_prog() 42 return PTR_ERR(prog); in bpf_mprog_prog() 43 if (type && prog->type != type) { in bpf_mprog_prog() 44 bpf_prog_put(prog); in bpf_mprog_prog() 49 tuple->prog = prog; in bpf_mprog_prog() [all …]
|
| H A D | syscall.c | 2285 static int find_prog_type(enum bpf_prog_type type, struct bpf_prog *prog) in find_prog_type() argument 2296 if (!bpf_prog_is_offloaded(prog->aux)) in find_prog_type() 2297 prog->aux->ops = ops; in find_prog_type() 2299 prog->aux->ops = &bpf_offload_prog_ops; in find_prog_type() 2300 prog->type = type; in find_prog_type() 2315 static void bpf_audit_prog(const struct bpf_prog *prog, unsigned int op) in bpf_audit_prog() argument 2330 prog->aux->id, bpf_audit_str[op]); in bpf_audit_prog() 2334 static int bpf_prog_alloc_id(struct bpf_prog *prog) in bpf_prog_alloc_id() argument 2340 id = idr_alloc_cyclic(&prog_idr, prog, 1, INT_MAX, GFP_ATOMIC); in bpf_prog_alloc_id() 2342 prog->aux->id = id; in bpf_prog_alloc_id() [all …]
|
| H A D | trampoline.c | 107 bool bpf_prog_has_trampoline(const struct bpf_prog *prog) in bpf_prog_has_trampoline() argument 109 enum bpf_attach_type eatype = prog->expected_attach_type; in bpf_prog_has_trampoline() 110 enum bpf_prog_type ptype = prog->type; in bpf_prog_has_trampoline() 273 *ip_arg |= link->link.prog->call_get_func_ip; in bpf_trampoline_get_progs() 553 static enum bpf_tramp_prog_type bpf_attach_type_to_tramp(struct bpf_prog *prog) in bpf_attach_type_to_tramp() argument 555 switch (prog->expected_attach_type) { in bpf_attach_type_to_tramp() 563 if (!prog->aux->attach_func_proto->type) in bpf_attach_type_to_tramp() 602 kind = bpf_attach_type_to_tramp(link->link.prog); in __bpf_trampoline_link_prog() 619 tr->extension_prog = link->link.prog; in __bpf_trampoline_link_prog() 622 link->link.prog->bpf_func); in __bpf_trampoline_link_prog() [all …]
|
| H A D | core.c | 125 fp->aux->prog = fp; in bpf_prog_alloc_no_stats() 150 struct bpf_prog *prog; in bpf_prog_alloc() local 153 prog = bpf_prog_alloc_no_stats(size, gfp_extra_flags); in bpf_prog_alloc() 154 if (!prog) in bpf_prog_alloc() 157 prog->stats = alloc_percpu_gfp(struct bpf_prog_stats, gfp_flags); in bpf_prog_alloc() 158 if (!prog->stats) { in bpf_prog_alloc() 159 free_percpu(prog->active); in bpf_prog_alloc() 160 kfree(prog->aux); in bpf_prog_alloc() 161 vfree(prog); in bpf_prog_alloc() 168 pstats = per_cpu_ptr(prog in bpf_prog_alloc() 175 bpf_prog_alloc_jited_linfo(struct bpf_prog * prog) bpf_prog_alloc_jited_linfo() argument 189 bpf_prog_jit_attempt_done(struct bpf_prog * prog) bpf_prog_jit_attempt_done() argument 225 bpf_prog_fill_jited_linfo(struct bpf_prog * prog,const u32 * insn_to_jit_off) bpf_prog_fill_jited_linfo() argument 384 bpf_adj_branches(struct bpf_prog * prog,u32 pos,s32 end_old,s32 end_new,const bool probe_pass) bpf_adj_branches() argument 431 bpf_adj_linfo(struct bpf_prog * prog,u32 off,u32 delta) bpf_adj_linfo() argument 451 bpf_patch_insn_single(struct bpf_prog * prog,u32 off,const struct bpf_insn * patch,u32 len) bpf_patch_insn_single() argument 512 bpf_remove_insns(struct bpf_prog * prog,u32 off,u32 cnt) bpf_remove_insns() argument 551 bpf_prog_ksym_set_addr(struct bpf_prog * prog) bpf_prog_ksym_set_addr() argument 560 bpf_prog_ksym_set_name(struct bpf_prog * prog) bpf_prog_ksym_set_name() argument 766 struct bpf_prog *prog; search_bpf_extables() local 809 bpf_jit_add_poke_descriptor(struct bpf_prog * prog,struct bpf_jit_poke_descriptor * poke) bpf_jit_add_poke_descriptor() argument 1228 bpf_jit_get_func_addr(const struct bpf_prog * prog,const struct bpf_insn * insn,bool extra_pass,u64 * func_addr,bool * func_addr_fixed) bpf_jit_get_func_addr() argument 1268 bpf_jit_get_prog_name(struct bpf_prog * prog) bpf_jit_get_prog_name() argument 1453 bpf_jit_blind_constants(struct bpf_prog * prog) bpf_jit_blind_constants() argument 2014 struct bpf_prog *prog; ___bpf_prog_run() local 2540 struct bpf_prog prog; global() member 2707 bpf_prog_array_update_at(struct bpf_prog_array * array,int index,struct bpf_prog * prog) bpf_prog_array_update_at() argument 3017 bpf_int_jit_compile(struct bpf_prog * prog) bpf_int_jit_compile() argument 3025 bpf_jit_compile(struct bpf_prog * prog) bpf_jit_compile() argument 3176 struct bpf_prog *prog; bpf_prog_report_may_goto_violation() local 3241 bpf_prog_get_file_line(struct bpf_prog * prog,unsigned long ip,const char ** filep,const char ** linep,int * nump) bpf_prog_get_file_line() argument 3287 struct bpf_prog *prog; global() member 3293 struct bpf_prog *prog; find_from_stack_cb() local [all...] |
| H A D | offload.c | 109 static void __bpf_prog_offload_destroy(struct bpf_prog *prog) in __bpf_prog_offload_destroy() argument 111 struct bpf_prog_offload *offload = prog->aux->offload; in __bpf_prog_offload_destroy() 114 offload->offdev->ops->destroy(prog); in __bpf_prog_offload_destroy() 118 prog->aux->offload = NULL; in __bpf_prog_offload_destroy() 179 __bpf_prog_offload_destroy(offload->prog); in __bpf_offload_dev_netdev_unregister() 189 static int __bpf_prog_dev_bound_init(struct bpf_prog *prog, struct net_device *netdev) in __bpf_prog_dev_bound_init() argument 199 offload->prog = prog; in __bpf_prog_dev_bound_init() 206 if (bpf_prog_is_offloaded(prog->aux) && (!ondev || !ondev->offdev)) { in __bpf_prog_dev_bound_init() 220 prog->aux->offload = offload; in __bpf_prog_dev_bound_init() 229 int bpf_prog_dev_bound_init(struct bpf_prog *prog, union bpf_attr *attr) in bpf_prog_dev_bound_init() argument [all …]
|
| H A D | prog_iter.c | 16 struct bpf_prog *prog; in bpf_prog_seq_start() local 18 prog = bpf_prog_get_curr_or_next(&info->prog_id); in bpf_prog_seq_start() 19 if (!prog) in bpf_prog_seq_start() 24 return prog; in bpf_prog_seq_start() 39 __bpf_md_ptr(struct bpf_prog *, prog); 42 DEFINE_BPF_ITER_FUNC(bpf_prog, struct bpf_iter_meta *meta, struct bpf_prog *prog) in DEFINE_BPF_ITER_FUNC() argument 48 struct bpf_prog *prog; in DEFINE_BPF_ITER_FUNC() local 52 ctx.prog = v; in DEFINE_BPF_ITER_FUNC() 54 prog = bpf_iter_get_info(&meta, in_stop); in DEFINE_BPF_ITER_FUNC() 55 if (prog) in DEFINE_BPF_ITER_FUNC() [all …]
|
| H A D | bpf_lsm.c | 90 void bpf_lsm_find_cgroup_shim(const struct bpf_prog *prog, in BTF_SET_END() 95 if (btf_type_vlen(prog->aux->attach_func_proto) < 1 || in BTF_SET_END() 97 prog->aux->attach_btf_id)) { in BTF_SET_END() 103 args = btf_params(prog->aux->attach_func_proto); in BTF_SET_END() 116 const struct bpf_prog *prog) in bpf_lsm_verify_prog() 118 u32 btf_id = prog->aux->attach_btf_id; in bpf_lsm_verify_prog() 119 const char *func_name = prog->aux->attach_func_name; in bpf_lsm_verify_prog() 121 if (!prog->gpl_compatible) { in bpf_lsm_verify_prog() 170 static bool bpf_ima_inode_hash_allowed(const struct bpf_prog *prog) in bpf_ima_inode_hash_allowed() 172 return bpf_lsm_is_sleepable_hook(prog in bpf_ima_inode_hash_allowed() 115 bpf_lsm_verify_prog(struct bpf_verifier_log * vlog,const struct bpf_prog * prog) bpf_lsm_verify_prog() argument 169 bpf_ima_inode_hash_allowed(const struct bpf_prog * prog) bpf_ima_inode_hash_allowed() argument 223 bpf_lsm_func_proto(enum bpf_func_id func_id,const struct bpf_prog * prog) bpf_lsm_func_proto() argument 401 bpf_lsm_is_trusted(const struct bpf_prog * prog) bpf_lsm_is_trusted() argument [all...] |
| /linux/drivers/net/hyperv/ |
| H A D | netvsc_bpf.c | 31 struct bpf_prog *prog; in netvsc_run_xdp() local 38 prog = rcu_dereference(nvchan->bpf_prog); in netvsc_run_xdp() 40 if (!prog) in netvsc_run_xdp() 61 act = bpf_prog_run_xdp(prog, xdp); in netvsc_run_xdp() 73 if (!xdp_do_redirect(ndev, xdp, prog)) { in netvsc_run_xdp() 95 trace_xdp_exception(ndev, prog, act); in netvsc_run_xdp() 99 bpf_warn_invalid_xdp_action(ndev, prog, act); in netvsc_run_xdp() 124 int netvsc_xdp_set(struct net_device *dev, struct bpf_prog *prog, in netvsc_xdp_set() argument 133 if (!old_prog && !prog) in netvsc_xdp_set() 137 if (prog && buf_max > PAGE_SIZE) { in netvsc_xdp_set() [all …]
|
| /linux/drivers/net/netdevsim/ |
| H A D | bpf.c | 31 struct bpf_prog *prog; member 68 state = env->prog->aux->offload->dev_priv; in nsim_bpf_verify_insn() 72 if (insn_idx == env->prog->len - 1) { in nsim_bpf_verify_insn() 89 return ns->xdp_hw.prog; in nsim_xdp_offload_active() 92 static void nsim_prog_set_loaded(struct bpf_prog *prog, bool loaded) in nsim_prog_set_loaded() argument 96 if (!prog || !bpf_prog_is_offloaded(prog->aux)) in nsim_prog_set_loaded() 99 state = prog->aux->offload->dev_priv; in nsim_prog_set_loaded() 104 nsim_bpf_offload(struct netdevsim *ns, struct bpf_prog *prog, bool oldprog) in nsim_bpf_offload() argument 111 ns->bpf_offloaded = prog; in nsim_bpf_offload() 112 ns->bpf_offloaded_id = prog ? prog->aux->id : 0; in nsim_bpf_offload() [all …]
|
| /linux/arch/x86/net/ |
| H A D | bpf_jit_comp32.c | 65 do { prog = emit_code(prog, bytes, len); cnt += len; } while (0) 209 u8 *prog = *pprog; in emit_ia32_mov_i() local 230 *pprog = prog; in emit_ia32_mov_i() 237 u8 *prog = *pprog; in emit_ia32_mov_r() local 251 *pprog = prog; in emit_ia32_mov_r() 288 u8 *prog = *pprog; in emit_ia32_mul_r() local 314 *pprog = prog; in emit_ia32_mul_r() 321 u8 *prog = *pprog; in emit_ia32_to_le_r64() local 362 *pprog = prog; in emit_ia32_to_le_r64() 369 u8 *prog = *pprog; in emit_ia32_to_be_r64() local [all …]
|
| /linux/drivers/net/ethernet/netronome/nfp/bpf/ |
| H A D | offload.c | 112 struct bpf_prog *prog) in nfp_map_ptrs_record() argument 116 mutex_lock(&prog->aux->used_maps_mutex); in nfp_map_ptrs_record() 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() 134 for (i = 0; i < prog->aux->used_map_cnt; i++) in nfp_map_ptrs_record() 135 if (bpf_map_offload_neutral(prog->aux->used_maps[i])) { in nfp_map_ptrs_record() 137 prog->aux->used_maps[i]); in nfp_map_ptrs_record() 146 mutex_unlock(&prog->aux->used_maps_mutex); in nfp_map_ptrs_record() 151 nfp_prog_prepare(struct nfp_prog *nfp_prog, const struct bpf_insn *prog, in nfp_prog_prepare() argument 162 meta->insn = prog[i]; in nfp_prog_prepare() [all …]
|
| /linux/drivers/media/rc/ |
| H A D | bpf-lirc.c | 83 lirc_mode2_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) in lirc_mode2_func_proto() argument 113 if (bpf_token_capable(prog->aux->token, CAP_PERFMON)) in lirc_mode2_func_proto() 123 const struct bpf_prog *prog, in lirc_mode2_is_valid_access() argument 137 static int lirc_bpf_attach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_attach() argument 163 ret = bpf_prog_array_copy(old_array, NULL, prog, 0, &new_array); in lirc_bpf_attach() 175 static int lirc_bpf_detach(struct rc_dev *rcdev, struct bpf_prog *prog) in lirc_bpf_detach() argument 196 ret = bpf_prog_array_copy(old_array, prog, NULL, 0, &new_array); in lirc_bpf_detach() 207 bpf_prog_put(prog); in lirc_bpf_detach() 242 for (item = array->items; item->prog; item++) in lirc_bpf_free() 243 bpf_prog_put(item->prog); in lirc_bpf_free() [all …]
|
| /linux/samples/bpf/ |
| H A D | tracex5_user.c | 27 struct sock_fprog prog = { in install_accept_all_seccomp() local 31 if (prctl(PR_SET_SECCOMP, 2, &prog)) in install_accept_all_seccomp() 38 struct bpf_program *prog; in main() local 52 prog = bpf_object__find_program_by_name(obj, "bpf_prog1"); in main() 53 if (!prog) { in main() 64 link = bpf_program__attach(prog); in main() 77 bpf_object__for_each_program(prog, obj) { in main() 78 section = bpf_program__section_name(prog); in main() 83 fd = bpf_program__fd(prog); in main()
|
| /linux/net/core/ |
| H A D | sock_reuseport.c | 184 RCU_INIT_POINTER(reuse->prog, NULL); in __reuseport_alloc() 276 more_reuse->prog = reuse->prog; in reuseport_grow() 307 sk_reuseport_prog_free(rcu_dereference_protected(reuse->prog, 1)); in reuseport_free_rcu() 466 struct bpf_prog *prog; in reuseport_stop_listen_sock() local 472 prog = rcu_dereference_protected(reuse->prog, in reuseport_stop_listen_sock() 476 (prog && prog->expected_attach_type == BPF_SK_REUSEPORT_SELECT_OR_MIGRATE)) { in reuseport_stop_listen_sock() 498 struct bpf_prog *prog, struct sk_buff *skb, in run_bpf_filter() argument 516 index = bpf_prog_run_save_cb(prog, skb); in run_bpf_filter() 574 struct bpf_prog *prog; in reuseport_select_sock() local 585 prog = rcu_dereference(reuse->prog); in reuseport_select_sock() [all …]
|