Lines Matching refs:pl

48 		struct bpf_prog_list *pl, *tmp;  in cgroup_bpf_release()  local
50 list_for_each_entry_safe(pl, tmp, progs, node) { in cgroup_bpf_release()
51 list_del(&pl->node); in cgroup_bpf_release()
52 bpf_prog_put(pl->prog); in cgroup_bpf_release()
54 bpf_cgroup_storage_unlink(pl->storage[stype]); in cgroup_bpf_release()
55 bpf_cgroup_storage_free(pl->storage[stype]); in cgroup_bpf_release()
57 kfree(pl); in cgroup_bpf_release()
90 struct bpf_prog_list *pl; in prog_list_length() local
93 list_for_each_entry(pl, head, node) { in prog_list_length()
94 if (!pl->prog) in prog_list_length()
141 struct bpf_prog_list *pl; in compute_effective_progs() local
163 list_for_each_entry(pl, &p->bpf.progs[type], node) { in compute_effective_progs()
164 if (!pl->prog) in compute_effective_progs()
167 progs->items[cnt].prog = pl->prog; in compute_effective_progs()
170 pl->storage[stype]; in compute_effective_progs()
299 struct bpf_prog_list *pl; in __cgroup_bpf_attach() local
331 list_for_each_entry(pl, progs, node) { in __cgroup_bpf_attach()
332 if (pl->prog == prog) { in __cgroup_bpf_attach()
340 pl = kmalloc(sizeof(*pl), GFP_KERNEL); in __cgroup_bpf_attach()
341 if (!pl) { in __cgroup_bpf_attach()
348 pl->prog = prog; in __cgroup_bpf_attach()
350 pl->storage[stype] = storage[stype]; in __cgroup_bpf_attach()
351 list_add_tail(&pl->node, progs); in __cgroup_bpf_attach()
354 pl = kmalloc(sizeof(*pl), GFP_KERNEL); in __cgroup_bpf_attach()
355 if (!pl) { in __cgroup_bpf_attach()
361 list_add_tail(&pl->node, progs); in __cgroup_bpf_attach()
363 pl = list_first_entry(progs, typeof(*pl), node); in __cgroup_bpf_attach()
364 old_prog = pl->prog; in __cgroup_bpf_attach()
366 old_storage[stype] = pl->storage[stype]; in __cgroup_bpf_attach()
371 pl->prog = prog; in __cgroup_bpf_attach()
373 pl->storage[stype] = storage[stype]; in __cgroup_bpf_attach()
398 pl->prog = old_prog; in __cgroup_bpf_attach()
400 bpf_cgroup_storage_free(pl->storage[stype]); in __cgroup_bpf_attach()
401 pl->storage[stype] = old_storage[stype]; in __cgroup_bpf_attach()
405 list_del(&pl->node); in __cgroup_bpf_attach()
406 kfree(pl); in __cgroup_bpf_attach()
427 struct bpf_prog_list *pl; in __cgroup_bpf_detach() local
444 list_for_each_entry(pl, progs, node) { in __cgroup_bpf_detach()
445 if (pl->prog != prog) in __cgroup_bpf_detach()
451 pl->prog = NULL; in __cgroup_bpf_detach()
460 pl = list_first_entry(progs, typeof(*pl), node); in __cgroup_bpf_detach()
461 old_prog = pl->prog; in __cgroup_bpf_detach()
462 pl->prog = NULL; in __cgroup_bpf_detach()
470 list_del(&pl->node); in __cgroup_bpf_detach()
472 bpf_cgroup_storage_unlink(pl->storage[stype]); in __cgroup_bpf_detach()
473 bpf_cgroup_storage_free(pl->storage[stype]); in __cgroup_bpf_detach()
475 kfree(pl); in __cgroup_bpf_detach()
486 pl->prog = old_prog; in __cgroup_bpf_detach()
524 struct bpf_prog_list *pl; in __cgroup_bpf_query() local
528 list_for_each_entry(pl, progs, node) { in __cgroup_bpf_query()
529 id = pl->prog->aux->id; in __cgroup_bpf_query()