| /kernel/bpf/ |
| A D | mprog.c | 26 tuple->prog = link->prog; in bpf_mprog_link() 49 tuple->prog = prog; in bpf_mprog_prog() 187 if (tuple->prog == READ_ONCE(fp->prog)) in bpf_mprog_pos_exact() 202 if (tuple->prog == READ_ONCE(fp->prog) && in bpf_mprog_pos_before() 218 if (tuple->prog == READ_ONCE(fp->prog) && in bpf_mprog_pos_after() 311 prog = READ_ONCE(fp->prog); in bpf_mprog_fetch() 321 WARN_ON_ONCE(tuple->prog && tuple->prog != prog); in bpf_mprog_fetch() 323 tuple->prog = prog; in bpf_mprog_fetch() 334 .prog = prog, in bpf_mprog_detach() 346 prog ? prog->type : in bpf_mprog_detach() [all …]
|
| A D | syscall.c | 2363 prog = aux->prog; in bpf_prog_put_deferred() 2450 bin2hex(prog_tag, prog->tag, sizeof(prog->tag)); in bpf_prog_show_fdinfo() 2983 prog = bpf_prog_select_runtime(prog, &err); in bpf_prog_load() 3087 link->prog = prog; in bpf_link_init_sleepable() 3235 const struct bpf_prog *prog = link->prog; in bpf_link_show_fdinfo() local 3255 bin2hex(prog_tag, prog->tag, sizeof(prog->tag)); in bpf_link_show_fdinfo() 4497 if (prog) in bpf_prog_detach() 4651 prog = bpf_prog_inc_not_zero(prog); in bpf_prog_get_curr_or_next() 4673 if (prog) in bpf_prog_by_id() 4674 prog = bpf_prog_inc_not_zero(prog); in bpf_prog_by_id() [all …]
|
| A D | trampoline.c | 585 if (link_exiting->link.prog != link->link.prog) in __bpf_trampoline_link_prog() 747 prog->aux->attach_btf_id); in bpf_trampoline_link_cgroup_shim() 804 prog->aux->attach_btf_id); in bpf_trampoline_unlink_cgroup_shim() 910 prog->aux->recursion_detected(prog); in __bpf_prog_enter_recur() 950 update_prog_stats(prog, start); in __bpf_prog_exit_recur() 951 this_cpu_dec(*(prog->active)); in __bpf_prog_exit_recur() 993 prog->aux->recursion_detected(prog); in __bpf_prog_enter_sleepable_recur() 1004 update_prog_stats(prog, start); in __bpf_prog_exit_sleepable_recur() 1005 this_cpu_dec(*(prog->active)); in __bpf_prog_exit_sleepable_recur() 1027 update_prog_stats(prog, start); in __bpf_prog_exit_sleepable() [all …]
|
| A D | core.c | 229 if (!prog->aux->jited_linfo || prog->aux->func_idx > prog->aux->func_cnt) in bpf_prog_fill_jited_linfo() 588 prog->aux->ksym.end = prog->aux->ksym.start + prog->jited_len; in bpf_prog_ksym_set_addr() 1302 if (prog->aux->ksym.prog) in bpf_jit_get_prog_name() 2623 if (item->prog != &dummy_bpf_prog.prog) in bpf_prog_array_length() 2633 if (item->prog != &dummy_bpf_prog.prog) in bpf_prog_array_is_empty() 2646 if (item->prog == &dummy_bpf_prog.prog) in bpf_prog_array_copy_core() 2740 if (item->prog == &dummy_bpf_prog.prog) in bpf_prog_array_update_at() 2743 WRITE_ONCE(item->prog, prog); in bpf_prog_array_update_at() 2807 new->prog = existing->prog; in bpf_prog_array_copy() 3278 len = prog->aux->func ? prog->aux->func[prog->aux->func_idx]->len : prog->len; in bpf_prog_get_file_line() [all …]
|
| A D | offload.c | 118 prog->aux->offload = NULL; in __bpf_prog_offload_destroy() 199 offload->prog = prog; in __bpf_prog_dev_bound_init() 220 prog->aux->offload = offload; in __bpf_prog_dev_bound_init() 303 offload = prog->aux->offload; in bpf_prog_offload_verifier_prep() 389 if (prog->aux->offload) { in bpf_prog_dev_bound_destroy() 409 offload = prog->aux->offload; in bpf_prog_offload_translate() 432 struct bpf_prog *prog; member 463 struct bpf_prog *prog) in bpf_prog_offload_info_fill() argument 466 .prog = prog, in bpf_prog_offload_info_fill() 708 offload = prog->aux->offload; in __bpf_offload_dev_match() [all …]
|
| A D | dispatcher.c | 31 if (prog == d->progs[i].prog) in bpf_dispatcher_find_prog() 44 struct bpf_prog *prog) in bpf_dispatcher_add_prog() argument 48 if (!prog) in bpf_dispatcher_add_prog() 51 entry = bpf_dispatcher_find_prog(d, prog); in bpf_dispatcher_add_prog() 61 bpf_prog_inc(prog); in bpf_dispatcher_add_prog() 62 entry->prog = prog; in bpf_dispatcher_add_prog() 69 struct bpf_prog *prog) in bpf_dispatcher_remove_prog() argument 73 if (!prog) in bpf_dispatcher_remove_prog() 81 entry->prog = NULL; in bpf_dispatcher_remove_prog() 82 bpf_prog_put(prog); in bpf_dispatcher_remove_prog() [all …]
|
| 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); 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() 56 ret = bpf_iter_run_prog(prog, &ctx); in DEFINE_BPF_ITER_FUNC() [all …]
|
| A D | bpf_lsm.c | 96 prog->aux->attach_btf_id)) { in BTF_SET_END() 102 args = btf_params(prog->aux->attach_func_proto); in BTF_SET_END() 115 const struct bpf_prog *prog) in bpf_lsm_verify_prog() argument 117 u32 btf_id = prog->aux->attach_btf_id; in bpf_lsm_verify_prog() 120 if (!prog->gpl_compatible) { in bpf_lsm_verify_prog() 261 prog->aux->attach_btf_id)) in bpf_lsm_func_proto() 264 prog->aux->attach_btf_id)) in bpf_lsm_func_proto() 271 prog->aux->attach_btf_id)) in bpf_lsm_func_proto() 274 prog->aux->attach_btf_id)) in bpf_lsm_func_proto() 279 return tracing_prog_func_proto(func_id, prog); in bpf_lsm_func_proto() [all …]
|
| A D | cgroup.c | 79 while ((prog = READ_ONCE(item->prog))) { in bpf_prog_run_array_cg() 639 if (prog && pl->prog == prog && prog != replace_prog) in find_attach_entry() 680 return prog; in bpf_get_anchor_prog() 796 struct bpf_prog *new_prog = prog ? : link->link.prog; in __cgroup_bpf_attach() 843 prog ? : link->link.prog, cgrp)) in __cgroup_bpf_attach() 863 pl->prog = prog; in __cgroup_bpf_attach() 963 WRITE_ONCE(item->prog, link->link.prog); in replace_effective_prog() 1062 if (pl->prog == prog && pl->link == link) in find_detach_entry() 1105 if (pl->prog == prog && pl->link == link) in purge_effective_progs() 1147 if (prog) in __cgroup_bpf_detach() [all …]
|
| A D | bpf_iter.c | 25 struct bpf_prog *prog; member 332 struct bpf_prog *prog) in cache_btf_id() argument 505 struct bpf_prog *prog) in bpf_iter_link_attach() argument 579 struct bpf_prog *prog) in init_seq_meta() argument 583 priv_data->prog = prog; in init_seq_meta() 594 struct bpf_prog *prog; in prepare_seq_file() local 600 prog = link->link.prog; in prepare_seq_file() 601 bpf_prog_inc(prog); in prepare_seq_file() 630 bpf_prog_put(prog); in prepare_seq_file() 690 return iter_priv->prog; in bpf_iter_get_info() [all …]
|
| A D | net_namespace.c | 96 prog_array->items[i].prog = pos->link.prog; in fill_prog_array() 174 if (old_prog && old_prog != link->prog) in bpf_netns_link_update_prog() 176 if (new_prog->type != link->prog->type) in bpf_netns_link_update_prog() 332 if (attached == prog) { in netns_bpf_prog_attach() 341 WRITE_ONCE(run_array->items[0].prog, prog); in netns_bpf_prog_attach() 348 run_array->items[0].prog = prog; in netns_bpf_prog_attach() 352 net->bpf.progs[type] = prog; in netns_bpf_prog_attach() 385 struct bpf_prog *prog; in netns_bpf_prog_detach() local 396 if (IS_ERR(prog)) in netns_bpf_prog_detach() 397 return PTR_ERR(prog); in netns_bpf_prog_detach() [all …]
|
| A D | tcx.c | 10 int tcx_prog_attach(const union bpf_attr *attr, struct bpf_prog *prog) in tcx_prog_attach() argument 27 prog->type); in tcx_prog_attach() 39 ret = bpf_mprog_attach(entry, &entry_new, prog, NULL, replace_prog, in tcx_prog_attach() 59 int tcx_prog_detach(const union bpf_attr *attr, struct bpf_prog *prog) in tcx_prog_detach() argument 115 bpf_prog_put(tuple.prog); in tcx_uninstall() 218 if (oprog && link->prog != oprog) { in tcx_link_update() 222 oprog = link->prog; in tcx_link_update() 234 link->prog->aux->id, 0); in tcx_link_update() 237 oprog = xchg(&link->prog, nprog); in tcx_link_update() 302 struct bpf_prog *prog) in tcx_link_init() argument [all …]
|
| A D | stream.c | 346 stream = bpf_stream_get(stream_id, prog->aux); in bpf_prog_stream_read() 395 void bpf_prog_stream_init(struct bpf_prog *prog) in bpf_prog_stream_init() argument 400 atomic_set(&prog->aux->stream[i].capacity, 0); in bpf_prog_stream_init() 401 init_llist_head(&prog->aux->stream[i].log); in bpf_prog_stream_init() 402 mutex_init(&prog->aux->stream[i].lock); in bpf_prog_stream_init() 403 prog->aux->stream[i].backlog_head = NULL; in bpf_prog_stream_init() 404 prog->aux->stream[i].backlog_tail = NULL; in bpf_prog_stream_init() 460 stream = bpf_stream_get(stream_id, prog->aux); in bpf_stream_stage_commit() 490 struct bpf_prog *prog; in dump_stack_cb() local 494 prog = bpf_prog_ksym_find(ip); in dump_stack_cb() [all …]
|
| A D | cpumap.c | 70 struct bpf_prog *prog; member 155 rcpu->prog); in cpu_map_bpf_prog_run_skb() 216 rcpu->prog); in cpu_map_bpf_prog_run_xdp() 253 if (!rcpu->prog) in cpu_map_bpf_prog_run() 411 struct bpf_prog *prog; in __cpu_map_load_bpf_program() local 414 if (IS_ERR(prog)) in __cpu_map_load_bpf_program() 415 return PTR_ERR(prog); in __cpu_map_load_bpf_program() 419 bpf_prog_put(prog); in __cpu_map_load_bpf_program() 424 rcpu->prog = prog; in __cpu_map_load_bpf_program() 495 if (rcpu->prog) in __cpu_map_entry_alloc() [all …]
|
| A D | verifier.c | 17970 prog = env->prog; in check_btf_func_early() 18070 prog = env->prog; in check_btf_func() 18166 prog = env->prog; in check_btf_line() 21995 env->prog = prog; in add_hidden_subprog() 22033 prog = env->prog; in do_misc_fixups() 22082 env->prog = prog = new_prog; in do_misc_fixups() 22173 env->prog = prog = new_prog; in do_misc_fixups() 22203 env->prog = prog = new_prog; in do_misc_fixups() 22894 env->prog = prog = new_prog; in do_misc_fixups() 24599 env->prog = *prog; in bpf_check() [all …]
|
| A D | kmem_cache_iter.c | 160 struct bpf_prog *prog; in kmem_cache_iter_seq_stop() local 163 prog = bpf_iter_get_info(&meta, true); in kmem_cache_iter_seq_stop() 164 if (prog && !ctx.s) in kmem_cache_iter_seq_stop() 165 bpf_iter_run_prog(prog, &ctx); in kmem_cache_iter_seq_stop() 186 struct bpf_prog *prog; in kmem_cache_iter_seq_show() local 190 prog = bpf_iter_get_info(&meta, false); in kmem_cache_iter_seq_show() 191 if (prog) in kmem_cache_iter_seq_show() 192 ret = bpf_iter_run_prog(prog, &ctx); in kmem_cache_iter_seq_show()
|
| A D | map_iter.c | 48 struct bpf_prog *prog; in DEFINE_BPF_ITER_FUNC() local 54 prog = bpf_iter_get_info(&meta, in_stop); in DEFINE_BPF_ITER_FUNC() 55 if (prog) in DEFINE_BPF_ITER_FUNC() 56 ret = bpf_iter_run_prog(prog, &ctx); in DEFINE_BPF_ITER_FUNC() 100 static int bpf_iter_attach_map(struct bpf_prog *prog, in bpf_iter_attach_map() argument 125 key_acc_size = prog->aux->max_rdonly_access; in bpf_iter_attach_map() 126 value_acc_size = prog->aux->max_rdwr_access; in bpf_iter_attach_map()
|
| A D | link_iter.c | 48 struct bpf_prog *prog; in DEFINE_BPF_ITER_FUNC() local 54 prog = bpf_iter_get_info(&meta, in_stop); in DEFINE_BPF_ITER_FUNC() 55 if (prog) in DEFINE_BPF_ITER_FUNC() 56 ret = bpf_iter_run_prog(prog, &ctx); in DEFINE_BPF_ITER_FUNC()
|
| A D | arraymap.c | 631 struct bpf_prog *prog; in __bpf_array_map_seq_show() local 638 if (!prog) in __bpf_array_map_seq_show() 945 if (IS_ERR(prog)) in prog_fd_array_get_ptr() 946 return prog; in prog_fd_array_get_ptr() 950 bpf_prog_put(prog); in prog_fd_array_get_ptr() 954 mutex_lock(&prog->aux->ext_mutex); in prog_fd_array_get_ptr() 965 bpf_prog_put(prog); in prog_fd_array_get_ptr() 969 return prog; in prog_fd_array_get_ptr() 974 struct bpf_prog *prog = ptr; in prog_fd_array_put_ptr() local 976 mutex_lock(&prog->aux->ext_mutex); in prog_fd_array_put_ptr() [all …]
|
| A D | task_iter.c | 180 struct bpf_prog *prog; in DEFINE_BPF_ITER_FUNC() local 183 prog = bpf_iter_get_info(&meta, in_stop); in DEFINE_BPF_ITER_FUNC() 184 if (!prog) in DEFINE_BPF_ITER_FUNC() 189 return bpf_iter_run_prog(prog, &ctx); in DEFINE_BPF_ITER_FUNC() 349 struct bpf_prog *prog; in DEFINE_BPF_ITER_FUNC() local 352 prog = bpf_iter_get_info(&meta, in_stop); in DEFINE_BPF_ITER_FUNC() 353 if (!prog) in DEFINE_BPF_ITER_FUNC() 360 return bpf_iter_run_prog(prog, &ctx); in DEFINE_BPF_ITER_FUNC() 611 struct bpf_prog *prog; in DEFINE_BPF_ITER_FUNC() local 615 if (!prog) in DEFINE_BPF_ITER_FUNC() [all …]
|
| A D | cgroup_iter.c | 126 struct bpf_prog *prog; in __cgroup_iter_seq_show() local 136 prog = bpf_iter_get_info(&meta, in_stop); in __cgroup_iter_seq_show() 137 if (prog) in __cgroup_iter_seq_show() 138 ret = bpf_iter_run_prog(prog, &ctx); in __cgroup_iter_seq_show() 194 static int bpf_iter_attach_cgroup(struct bpf_prog *prog, in bpf_iter_attach_cgroup() argument
|
| A D | dmabuf_iter.c | 40 struct bpf_prog *prog = bpf_iter_get_info(&meta, in_stop); in __dmabuf_seq_show() local 42 if (prog) in __dmabuf_seq_show() 43 return bpf_iter_run_prog(prog, &ctx); in __dmabuf_seq_show()
|
| /kernel/trace/ |
| A D | bpf_trace.c | 2107 if (event->prog) in perf_event_attach_bpf_prog() 2122 event->prog = prog; in perf_event_attach_bpf_prog() 2141 if (!event->prog) in perf_event_detach_bpf_prog() 2157 prog = event->prog; in perf_event_detach_bpf_prog() 2163 if (prog) { in perf_event_detach_bpf_prog() 2243 struct bpf_prog *prog = link->link.prog; in __bpf_trace_run() local 2313 struct bpf_prog *prog = link->link.prog; in bpf_probe_register() local 2342 prog = event->prog; in bpf_get_perf_event_info() 2343 if (!prog) in bpf_get_perf_event_info() 3245 struct bpf_prog *prog = link->link.prog; in uprobe_prog_run() local [all …]
|
| A D | trace_events_filter.c | 172 t = prog[N].target; in update_preds() 623 if (prog[i].when_to_branch == prog[target].when_to_branch) in predicate_parse() 624 prog[i].target = prog[target].target; in predicate_parse() 640 return prog; in predicate_parse() 1181 prog = rcu_dereference_raw(filter->prog); in filter_match_preds() 1182 if (!prog) in filter_match_preds() 1288 prog = rcu_access_pointer(filter->prog); in free_prog() 1289 if (!prog) in free_prog() 1294 kfree(prog); in free_prog() 2238 rcu_assign_pointer(filter->prog, prog); in process_preds() [all …]
|
| /kernel/bpf/preload/iterators/ |
| A D | iterators.bpf.c | 55 struct bpf_prog *prog; member 103 struct bpf_prog *prog = ctx->prog; in dump_bpf_prog() local 106 if (!prog) in dump_bpf_prog() 109 aux = prog->aux; in dump_bpf_prog()
|