progs 160 drivers/media/rc/bpf-lirc.c old_array = lirc_rcu_dereference(raw->progs); progs 170 drivers/media/rc/bpf-lirc.c rcu_assign_pointer(raw->progs, new_array); progs 198 drivers/media/rc/bpf-lirc.c old_array = lirc_rcu_dereference(raw->progs); progs 208 drivers/media/rc/bpf-lirc.c rcu_assign_pointer(raw->progs, new_array); progs 222 drivers/media/rc/bpf-lirc.c if (raw->progs) progs 223 drivers/media/rc/bpf-lirc.c BPF_PROG_RUN_ARRAY(raw->progs, &raw->bpf_sample, BPF_PROG_RUN); progs 237 drivers/media/rc/bpf-lirc.c array = lirc_rcu_dereference(rcdev->raw->progs); progs 297 drivers/media/rc/bpf-lirc.c struct bpf_prog_array *progs; progs 318 drivers/media/rc/bpf-lirc.c progs = lirc_rcu_dereference(rcdev->raw->progs); progs 319 drivers/media/rc/bpf-lirc.c cnt = progs ? bpf_prog_array_length(progs) : 0; progs 332 drivers/media/rc/bpf-lirc.c ret = bpf_prog_array_copy_to_user(progs, prog_ids, cnt); progs 65 drivers/media/rc/rc-core-priv.h struct bpf_prog_array __rcu *progs; progs 71 include/linux/bpf-cgroup.h struct list_head progs[MAX_BPF_ATTACH_TYPE]; progs 522 include/linux/bpf.h void bpf_prog_array_free(struct bpf_prog_array *progs); progs 523 include/linux/bpf.h int bpf_prog_array_length(struct bpf_prog_array *progs); progs 525 include/linux/bpf.h int bpf_prog_array_copy_to_user(struct bpf_prog_array *progs, progs 528 include/linux/bpf.h void bpf_prog_array_delete_safe(struct bpf_prog_array *progs, progs 91 include/linux/skmsg.h struct sk_psock_progs progs; progs 453 include/linux/skmsg.h static inline void psock_progs_drop(struct sk_psock_progs *progs) progs 455 include/linux/skmsg.h psock_set_prog(&progs->msg_parser, NULL); progs 456 include/linux/skmsg.h psock_set_prog(&progs->skb_parser, NULL); progs 457 include/linux/skmsg.h psock_set_prog(&progs->skb_verdict, NULL); progs 46 kernel/bpf/cgroup.c for (type = 0; type < ARRAY_SIZE(cgrp->bpf.progs); type++) { progs 47 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; progs 50 kernel/bpf/cgroup.c list_for_each_entry_safe(pl, tmp, progs, node) { progs 123 kernel/bpf/cgroup.c cnt = prog_list_length(&p->bpf.progs[type]); progs 143 kernel/bpf/cgroup.c struct bpf_prog_array *progs; progs 151 kernel/bpf/cgroup.c cnt += prog_list_length(&p->bpf.progs[type]); progs 155 kernel/bpf/cgroup.c progs = bpf_prog_array_alloc(cnt, GFP_KERNEL); progs 156 kernel/bpf/cgroup.c if (!progs) progs 166 kernel/bpf/cgroup.c list_for_each_entry(pl, &p->bpf.progs[type], node) { progs 170 kernel/bpf/cgroup.c progs->items[cnt].prog = pl->prog; progs 172 kernel/bpf/cgroup.c progs->items[cnt].cgroup_storage[stype] = progs 178 kernel/bpf/cgroup.c *array = progs; progs 217 kernel/bpf/cgroup.c INIT_LIST_HEAD(&cgrp->bpf.progs[i]); progs 304 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; progs 320 kernel/bpf/cgroup.c if (!list_empty(progs) && cgrp->bpf.flags[type] != flags) progs 327 kernel/bpf/cgroup.c if (prog_list_length(progs) >= BPF_CGROUP_MAX_PROGS) progs 341 kernel/bpf/cgroup.c list_for_each_entry(pl, progs, node) { progs 361 kernel/bpf/cgroup.c list_add_tail(&pl->node, progs); progs 363 kernel/bpf/cgroup.c if (list_empty(progs)) { progs 371 kernel/bpf/cgroup.c list_add_tail(&pl->node, progs); progs 373 kernel/bpf/cgroup.c pl = list_first_entry(progs, typeof(*pl), node); progs 433 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; progs 447 kernel/bpf/cgroup.c if (list_empty(progs)) progs 454 kernel/bpf/cgroup.c list_for_each_entry(pl, progs, node) { progs 470 kernel/bpf/cgroup.c pl = list_first_entry(progs, typeof(*pl), node); progs 486 kernel/bpf/cgroup.c if (list_empty(progs)) progs 506 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; progs 517 kernel/bpf/cgroup.c cnt = prog_list_length(progs); progs 538 kernel/bpf/cgroup.c list_for_each_entry(pl, progs, node) { progs 1797 kernel/bpf/core.c void bpf_prog_array_free(struct bpf_prog_array *progs) progs 1799 kernel/bpf/core.c if (!progs || progs == &empty_prog_array.hdr) progs 1801 kernel/bpf/core.c kfree_rcu(progs, rcu); progs 45 kernel/bpf/offload.c struct list_head progs; progs 113 kernel/bpf/offload.c list_add_tail(&offload->offloads, &ondev->progs); progs 607 kernel/bpf/offload.c INIT_LIST_HEAD(&ondev->progs); progs 650 kernel/bpf/offload.c list_for_each_entry(offload, &ondev->progs, offloads) progs 652 kernel/bpf/offload.c list_splice_init(&ondev->progs, &altdev->progs); progs 658 kernel/bpf/offload.c list_for_each_entry_safe(offload, ptmp, &ondev->progs, offloads) progs 664 kernel/bpf/offload.c WARN_ON(!list_empty(&ondev->progs)); progs 1269 kernel/trace/bpf_trace.c struct bpf_prog_array *progs; progs 1294 kernel/trace/bpf_trace.c progs = bpf_event_rcu_dereference(event->tp_event->prog_array); progs 1295 kernel/trace/bpf_trace.c ret = bpf_prog_array_copy_info(progs, ids, ids_len, &prog_cnt); progs 569 net/core/skmsg.c if (psock->progs.skb_parser) progs 574 net/core/skmsg.c psock_progs_drop(&psock->progs); progs 603 net/core/skmsg.c if (psock->progs.skb_parser) progs 633 net/core/skmsg.c prog = READ_ONCE(psock->progs.msg_parser); progs 748 net/core/skmsg.c prog = READ_ONCE(psock->progs.skb_verdict); progs 771 net/core/skmsg.c prog = READ_ONCE(psock->progs.skb_parser); progs 17 net/core/sock_map.c struct sk_psock_progs progs; progs 118 net/core/sock_map.c if (psock->parser.enabled && stab->progs.skb_parser) progs 142 net/core/sock_map.c static int sock_map_link(struct bpf_map *map, struct sk_psock_progs *progs, progs 150 net/core/sock_map.c skb_verdict = READ_ONCE(progs->skb_verdict); progs 151 net/core/sock_map.c skb_parser = READ_ONCE(progs->skb_parser); progs 164 net/core/sock_map.c msg_parser = READ_ONCE(progs->msg_parser); progs 180 net/core/sock_map.c if ((msg_parser && READ_ONCE(psock->progs.msg_parser)) || progs 181 net/core/sock_map.c (skb_progs && READ_ONCE(psock->progs.skb_parser))) { progs 196 net/core/sock_map.c psock_set_prog(&psock->progs.msg_parser, msg_parser); progs 212 net/core/sock_map.c psock_set_prog(&psock->progs.skb_verdict, skb_verdict); progs 213 net/core/sock_map.c psock_set_prog(&psock->progs.skb_parser, skb_parser); progs 264 net/core/sock_map.c psock_progs_drop(&container_of(map, struct bpf_stab, map)->progs); progs 361 net/core/sock_map.c ret = sock_map_link(map, &stab->progs, sk); progs 536 net/core/sock_map.c struct sk_psock_progs progs; progs 685 net/core/sock_map.c ret = sock_map_link(map, &htab->progs, sk); progs 897 net/core/sock_map.c psock_progs_drop(&container_of(map, struct bpf_htab, map)->progs); progs 983 net/core/sock_map.c return &container_of(map, struct bpf_stab, map)->progs; progs 985 net/core/sock_map.c return &container_of(map, struct bpf_htab, map)->progs; progs 996 net/core/sock_map.c struct sk_psock_progs *progs = sock_map_progs(map); progs 998 net/core/sock_map.c if (!progs) progs 1003 net/core/sock_map.c psock_set_prog(&progs->msg_parser, prog); progs 1006 net/core/sock_map.c psock_set_prog(&progs->skb_parser, prog); progs 1009 net/core/sock_map.c psock_set_prog(&progs->skb_verdict, prog); progs 637 net/ipv4/tcp_bpf.c int config = psock->progs.msg_parser ? TCP_BPF_TX : TCP_BPF_BASE; progs 645 net/ipv4/tcp_bpf.c int config = psock->progs.msg_parser ? TCP_BPF_TX : TCP_BPF_BASE; progs 17 samples/bpf/tracex5_kern.c struct bpf_map_def SEC("maps") progs = { progs 34 samples/bpf/tracex5_kern.c bpf_tail_call(ctx, &progs, sc_nr); progs 409 tools/lib/bpf/libbpf.c struct bpf_program prog, *progs; progs 417 tools/lib/bpf/libbpf.c progs = obj->programs; progs 420 tools/lib/bpf/libbpf.c progs = reallocarray(progs, nr_progs + 1, sizeof(progs[0])); progs 421 tools/lib/bpf/libbpf.c if (!progs) { progs 434 tools/lib/bpf/libbpf.c obj->programs = progs; progs 437 tools/lib/bpf/libbpf.c progs[nr_progs] = prog;