Lines Matching refs:attr
498 int __cgroup_bpf_query(struct cgroup *cgrp, const union bpf_attr *attr, in __cgroup_bpf_query() argument
501 __u32 __user *prog_ids = u64_to_user_ptr(attr->query.prog_ids); in __cgroup_bpf_query()
502 enum bpf_attach_type type = attr->query.attach_type; in __cgroup_bpf_query()
511 if (attr->query.query_flags & BPF_F_QUERY_EFFECTIVE) in __cgroup_bpf_query()
520 if (attr->query.prog_cnt == 0 || !prog_ids || !cnt) in __cgroup_bpf_query()
523 if (attr->query.prog_cnt < cnt) { in __cgroup_bpf_query()
524 cnt = attr->query.prog_cnt; in __cgroup_bpf_query()
528 if (attr->query.query_flags & BPF_F_QUERY_EFFECTIVE) { in __cgroup_bpf_query()
546 int cgroup_bpf_prog_attach(const union bpf_attr *attr, in cgroup_bpf_prog_attach() argument
552 cgrp = cgroup_get_from_fd(attr->target_fd); in cgroup_bpf_prog_attach()
556 ret = cgroup_bpf_attach(cgrp, prog, attr->attach_type, in cgroup_bpf_prog_attach()
557 attr->attach_flags); in cgroup_bpf_prog_attach()
562 int cgroup_bpf_prog_detach(const union bpf_attr *attr, enum bpf_prog_type ptype) in cgroup_bpf_prog_detach() argument
568 cgrp = cgroup_get_from_fd(attr->target_fd); in cgroup_bpf_prog_detach()
572 prog = bpf_prog_get_type(attr->attach_bpf_fd, ptype); in cgroup_bpf_prog_detach()
576 ret = cgroup_bpf_detach(cgrp, prog, attr->attach_type, 0); in cgroup_bpf_prog_detach()
584 int cgroup_bpf_prog_query(const union bpf_attr *attr, in cgroup_bpf_prog_query() argument
590 cgrp = cgroup_get_from_fd(attr->query.target_fd); in cgroup_bpf_prog_query()
594 ret = cgroup_bpf_query(cgrp, attr, uattr); in cgroup_bpf_prog_query()