/Linux-v5.4/drivers/media/rc/ |
D | bpf-lirc.c | 160 old_array = lirc_rcu_dereference(raw->progs); in lirc_bpf_attach() 170 rcu_assign_pointer(raw->progs, new_array); in lirc_bpf_attach() 198 old_array = lirc_rcu_dereference(raw->progs); in lirc_bpf_detach() 208 rcu_assign_pointer(raw->progs, new_array); in lirc_bpf_detach() 222 if (raw->progs) in lirc_bpf_run() 223 BPF_PROG_RUN_ARRAY(raw->progs, &raw->bpf_sample, BPF_PROG_RUN); in lirc_bpf_run() 237 array = lirc_rcu_dereference(rcdev->raw->progs); in lirc_bpf_free() 297 struct bpf_prog_array *progs; in lirc_prog_query() local 318 progs = lirc_rcu_dereference(rcdev->raw->progs); in lirc_prog_query() 319 cnt = progs ? bpf_prog_array_length(progs) : 0; in lirc_prog_query() [all …]
|
D | rc-core-priv.h | 65 struct bpf_prog_array __rcu *progs; member
|
/Linux-v5.4/kernel/bpf/ |
D | cgroup.c | 46 for (type = 0; type < ARRAY_SIZE(cgrp->bpf.progs); type++) { in cgroup_bpf_release() 47 struct list_head *progs = &cgrp->bpf.progs[type]; in cgroup_bpf_release() local 50 list_for_each_entry_safe(pl, tmp, progs, node) { in cgroup_bpf_release() 120 cnt = prog_list_length(&p->bpf.progs[type]); in hierarchy_allows_attach() 140 struct bpf_prog_array *progs; in compute_effective_progs() local 148 cnt += prog_list_length(&p->bpf.progs[type]); in compute_effective_progs() 152 progs = bpf_prog_array_alloc(cnt, GFP_KERNEL); in compute_effective_progs() 153 if (!progs) in compute_effective_progs() 163 list_for_each_entry(pl, &p->bpf.progs[type], node) { in compute_effective_progs() 167 progs->items[cnt].prog = pl->prog; in compute_effective_progs() [all …]
|
D | offload.c | 45 struct list_head progs; member 113 list_add_tail(&offload->offloads, &ondev->progs); in bpf_prog_offload_init() 607 INIT_LIST_HEAD(&ondev->progs); in bpf_offload_dev_netdev_register() 650 list_for_each_entry(offload, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister() 652 list_splice_init(&ondev->progs, &altdev->progs); in bpf_offload_dev_netdev_unregister() 658 list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) in bpf_offload_dev_netdev_unregister() 664 WARN_ON(!list_empty(&ondev->progs)); in bpf_offload_dev_netdev_unregister()
|
D | core.c | 1797 void bpf_prog_array_free(struct bpf_prog_array *progs) in bpf_prog_array_free() argument 1799 if (!progs || progs == &empty_prog_array.hdr) in bpf_prog_array_free() 1801 kfree_rcu(progs, rcu); in bpf_prog_array_free()
|
/Linux-v5.4/net/core/ |
D | sock_map.c | 17 struct sk_psock_progs progs; member 118 if (psock->parser.enabled && stab->progs.skb_parser) in sock_map_del_link() 142 static int sock_map_link(struct bpf_map *map, struct sk_psock_progs *progs, in sock_map_link() argument 150 skb_verdict = READ_ONCE(progs->skb_verdict); in sock_map_link() 151 skb_parser = READ_ONCE(progs->skb_parser); in sock_map_link() 164 msg_parser = READ_ONCE(progs->msg_parser); in sock_map_link() 180 if ((msg_parser && READ_ONCE(psock->progs.msg_parser)) || in sock_map_link() 181 (skb_progs && READ_ONCE(psock->progs.skb_parser))) { in sock_map_link() 196 psock_set_prog(&psock->progs.msg_parser, msg_parser); in sock_map_link() 212 psock_set_prog(&psock->progs.skb_verdict, skb_verdict); in sock_map_link() [all …]
|
D | skmsg.c | 569 if (psock->progs.skb_parser) in sk_psock_destroy_deferred() 574 psock_progs_drop(&psock->progs); in sk_psock_destroy_deferred() 603 if (psock->progs.skb_parser) in sk_psock_drop() 633 prog = READ_ONCE(psock->progs.msg_parser); in sk_psock_msg_verdict() 748 prog = READ_ONCE(psock->progs.skb_verdict); in sk_psock_strp_read() 771 prog = READ_ONCE(psock->progs.skb_parser); in sk_psock_strp_parse()
|
/Linux-v5.4/tools/testing/selftests/bpf/ |
D | test_offload.py | 173 _, progs = bpftool("prog show", JSON=True, ns=ns, fail=True) 176 if p in progs: 177 progs.remove(p) 179 if len(progs) != expected: 181 (len(progs), expected)) 182 return progs 394 _, progs = cmd('ls %s' % (path)) 395 return len(progs.split()) 398 progs = DebugfsDir(os.path.join(self.dfs_dir, "bpf_bound_progs")) 400 if len(progs) != expected: [all …]
|
D | test_xdp_veth.sh | 101 xdp_redirect_map.o $BPF_DIR/progs type xdp \ 106 ip link set dev veth1 xdp pinned $BPF_DIR/progs/redirect_map_0 107 ip link set dev veth2 xdp pinned $BPF_DIR/progs/redirect_map_1 108 ip link set dev veth3 xdp pinned $BPF_DIR/progs/redirect_map_2
|
D | Makefile | 34 BPF_OBJ_FILES = $(patsubst %.c,%.o, $(notdir $(wildcard progs/*.c))) 37 BTF_C_FILES = $(wildcard progs/btf_dump_test_case_*.c) 211 $(ALU32_BUILD_DIR)/%.o: progs/%.c $(ALU32_BUILD_DIR)/test_progs_32 \ 244 $(BPF_GCC_BUILD_DIR)/%.o: progs/%.c $(BPF_GCC_BUILD_DIR)/test_progs_bpf_gcc \ 251 $(OUTPUT)/test_xdp.o: progs/test_xdp.c 259 $(OUTPUT)/%.o: progs/%.c
|
/Linux-v5.4/samples/bpf/ |
D | tracex5_kern.c | 17 struct bpf_map_def SEC("maps") progs = { 34 bpf_tail_call(ctx, &progs, sc_nr); in bpf_prog1()
|
/Linux-v5.4/include/linux/ |
D | skmsg.h | 88 struct sk_psock_progs progs; member 447 static inline void psock_progs_drop(struct sk_psock_progs *progs) in psock_progs_drop() argument 449 psock_set_prog(&progs->msg_parser, NULL); in psock_progs_drop() 450 psock_set_prog(&progs->skb_parser, NULL); in psock_progs_drop() 451 psock_set_prog(&progs->skb_verdict, NULL); in psock_progs_drop()
|
D | bpf.h | 522 void bpf_prog_array_free(struct bpf_prog_array *progs); 523 int bpf_prog_array_length(struct bpf_prog_array *progs); 525 int bpf_prog_array_copy_to_user(struct bpf_prog_array *progs, 528 void bpf_prog_array_delete_safe(struct bpf_prog_array *progs,
|
D | bpf-cgroup.h | 71 struct list_head progs[MAX_BPF_ATTACH_TYPE]; member
|
/Linux-v5.4/tools/bpf/ |
D | Makefile | 87 $(call QUIET_CLEAN, bpf-progs)
|
/Linux-v5.4/Documentation/bpf/ |
D | prog_cgroup_sockopt.rst | 92 See ``tools/testing/selftests/bpf/progs/sockopt_sk.c`` for an example
|
D | prog_flow_dissector.rst | 125 See ``tools/testing/selftests/bpf/progs/bpf_flow.c`` for the reference
|
D | prog_cgroup_sysctl.rst | 125 ../../tools/testing/selftests/bpf/progs/test_sysctl_prog.c
|
/Linux-v5.4/net/ipv4/ |
D | tcp_bpf.c | 638 int config = psock->progs.msg_parser ? TCP_BPF_TX : TCP_BPF_BASE; in tcp_bpf_update_sk_prot() 646 int config = psock->progs.msg_parser ? TCP_BPF_TX : TCP_BPF_BASE; in tcp_bpf_reinit_sk_prot()
|
/Linux-v5.4/kernel/trace/ |
D | bpf_trace.c | 1271 struct bpf_prog_array *progs; in perf_event_query_prog_array() local 1296 progs = bpf_event_rcu_dereference(event->tp_event->prog_array); in perf_event_query_prog_array() 1297 ret = bpf_prog_array_copy_info(progs, ids, ids_len, &prog_cnt); in perf_event_query_prog_array()
|
/Linux-v5.4/tools/bpf/bpftool/Documentation/ |
D | bpftool-cgroup.rst | 5 tool for inspection and simple manipulation of eBPF progs
|
D | bpftool-prog.rst | 5 tool for inspection and simple manipulation of eBPF progs
|
/Linux-v5.4/tools/lib/bpf/ |
D | libbpf.c | 409 struct bpf_program prog, *progs; in bpf_object__add_program() local 417 progs = obj->programs; in bpf_object__add_program() 420 progs = reallocarray(progs, nr_progs + 1, sizeof(progs[0])); in bpf_object__add_program() 421 if (!progs) { in bpf_object__add_program() 434 obj->programs = progs; in bpf_object__add_program() 437 progs[nr_progs] = prog; in bpf_object__add_program()
|
/Linux-v5.4/Documentation/ |
D | Changes | 44 btrfs-progs 0.18 btrfsck
|
/Linux-v5.4/Documentation/process/ |
D | changes.rst | 44 btrfs-progs 0.18 btrfsck
|