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;