Lines Matching refs:attr
72 static inline int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr, in sys_bpf() argument
75 return syscall(__NR_bpf, cmd, attr, size); in sys_bpf()
78 static inline int sys_bpf_fd(enum bpf_cmd cmd, union bpf_attr *attr, in sys_bpf_fd() argument
83 fd = sys_bpf(cmd, attr, size); in sys_bpf_fd()
87 int sys_bpf_prog_load(union bpf_attr *attr, unsigned int size, int attempts) in sys_bpf_prog_load() argument
92 fd = sys_bpf_fd(BPF_PROG_LOAD, attr, size); in sys_bpf_prog_load()
114 union bpf_attr attr; in probe_memcg_account() local
118 memset(&attr, 0, attr_sz); in probe_memcg_account()
119 attr.prog_type = BPF_PROG_TYPE_SOCKET_FILTER; in probe_memcg_account()
120 attr.insns = ptr_to_u64(insns); in probe_memcg_account()
121 attr.insn_cnt = insn_cnt; in probe_memcg_account()
122 attr.license = ptr_to_u64("GPL"); in probe_memcg_account()
123 attr.prog_token_fd = token_fd; in probe_memcg_account()
125 attr.prog_flags |= BPF_F_TOKEN_FD; in probe_memcg_account()
127 prog_fd = sys_bpf_fd(BPF_PROG_LOAD, &attr, attr_sz); in probe_memcg_account()
176 union bpf_attr attr; in bpf_map_create() local
181 memset(&attr, 0, attr_sz); in bpf_map_create()
186 attr.map_type = map_type; in bpf_map_create()
188 libbpf_strlcpy(attr.map_name, map_name, sizeof(attr.map_name)); in bpf_map_create()
189 attr.key_size = key_size; in bpf_map_create()
190 attr.value_size = value_size; in bpf_map_create()
191 attr.max_entries = max_entries; in bpf_map_create()
193 attr.btf_fd = OPTS_GET(opts, btf_fd, 0); in bpf_map_create()
194 attr.btf_key_type_id = OPTS_GET(opts, btf_key_type_id, 0); in bpf_map_create()
195 attr.btf_value_type_id = OPTS_GET(opts, btf_value_type_id, 0); in bpf_map_create()
196 attr.btf_vmlinux_value_type_id = OPTS_GET(opts, btf_vmlinux_value_type_id, 0); in bpf_map_create()
197 attr.value_type_btf_obj_fd = OPTS_GET(opts, value_type_btf_obj_fd, 0); in bpf_map_create()
199 attr.inner_map_fd = OPTS_GET(opts, inner_map_fd, 0); in bpf_map_create()
200 attr.map_flags = OPTS_GET(opts, map_flags, 0); in bpf_map_create()
201 attr.map_extra = OPTS_GET(opts, map_extra, 0); in bpf_map_create()
202 attr.numa_node = OPTS_GET(opts, numa_node, 0); in bpf_map_create()
203 attr.map_ifindex = OPTS_GET(opts, map_ifindex, 0); in bpf_map_create()
205 attr.map_token_fd = OPTS_GET(opts, token_fd, 0); in bpf_map_create()
207 fd = sys_bpf_fd(BPF_MAP_CREATE, &attr, attr_sz); in bpf_map_create()
247 union bpf_attr attr; in bpf_prog_load() local
261 memset(&attr, 0, attr_sz); in bpf_prog_load()
263 attr.prog_type = prog_type; in bpf_prog_load()
264 attr.expected_attach_type = OPTS_GET(opts, expected_attach_type, 0); in bpf_prog_load()
266 attr.prog_btf_fd = OPTS_GET(opts, prog_btf_fd, 0); in bpf_prog_load()
267 attr.prog_flags = OPTS_GET(opts, prog_flags, 0); in bpf_prog_load()
268 attr.prog_ifindex = OPTS_GET(opts, prog_ifindex, 0); in bpf_prog_load()
269 attr.kern_version = OPTS_GET(opts, kern_version, 0); in bpf_prog_load()
270 attr.prog_token_fd = OPTS_GET(opts, token_fd, 0); in bpf_prog_load()
273 libbpf_strlcpy(attr.prog_name, prog_name, sizeof(attr.prog_name)); in bpf_prog_load()
274 attr.license = ptr_to_u64(license); in bpf_prog_load()
279 attr.insns = ptr_to_u64(insns); in bpf_prog_load()
280 attr.insn_cnt = (__u32)insn_cnt; in bpf_prog_load()
288 attr.attach_btf_id = OPTS_GET(opts, attach_btf_id, 0); in bpf_prog_load()
290 attr.attach_prog_fd = attach_prog_fd; in bpf_prog_load()
292 attr.attach_btf_obj_fd = attach_btf_obj_fd; in bpf_prog_load()
303 attr.func_info_rec_size = func_info_rec_size; in bpf_prog_load()
304 attr.func_info = ptr_to_u64(func_info); in bpf_prog_load()
305 attr.func_info_cnt = OPTS_GET(opts, func_info_cnt, 0); in bpf_prog_load()
309 attr.line_info_rec_size = line_info_rec_size; in bpf_prog_load()
310 attr.line_info = ptr_to_u64(line_info); in bpf_prog_load()
311 attr.line_info_cnt = OPTS_GET(opts, line_info_cnt, 0); in bpf_prog_load()
313 attr.fd_array = ptr_to_u64(OPTS_GET(opts, fd_array, NULL)); in bpf_prog_load()
314 attr.fd_array_cnt = OPTS_GET(opts, fd_array_cnt, 0); in bpf_prog_load()
317 attr.log_buf = ptr_to_u64(log_buf); in bpf_prog_load()
318 attr.log_size = log_size; in bpf_prog_load()
319 attr.log_level = log_level; in bpf_prog_load()
322 fd = sys_bpf_prog_load(&attr, attr_sz, attempts); in bpf_prog_load()
323 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
332 if (!finfo && attr.func_info_cnt && in bpf_prog_load()
333 attr.func_info_rec_size < func_info_rec_size) { in bpf_prog_load()
336 attr.func_info_cnt, in bpf_prog_load()
338 attr.func_info_rec_size); in bpf_prog_load()
344 attr.func_info = ptr_to_u64(finfo); in bpf_prog_load()
345 attr.func_info_rec_size = func_info_rec_size; in bpf_prog_load()
346 } else if (!linfo && attr.line_info_cnt && in bpf_prog_load()
347 attr.line_info_rec_size < line_info_rec_size) { in bpf_prog_load()
349 attr.line_info_cnt, in bpf_prog_load()
351 attr.line_info_rec_size); in bpf_prog_load()
357 attr.line_info = ptr_to_u64(linfo); in bpf_prog_load()
358 attr.line_info_rec_size = line_info_rec_size; in bpf_prog_load()
363 fd = sys_bpf_prog_load(&attr, attr_sz, attempts); in bpf_prog_load()
364 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
374 attr.log_buf = ptr_to_u64(log_buf); in bpf_prog_load()
375 attr.log_size = log_size; in bpf_prog_load()
376 attr.log_level = 1; in bpf_prog_load()
378 fd = sys_bpf_prog_load(&attr, attr_sz, attempts); in bpf_prog_load()
379 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
392 union bpf_attr attr; in bpf_map_update_elem() local
395 memset(&attr, 0, attr_sz); in bpf_map_update_elem()
396 attr.map_fd = fd; in bpf_map_update_elem()
397 attr.key = ptr_to_u64(key); in bpf_map_update_elem()
398 attr.value = ptr_to_u64(value); in bpf_map_update_elem()
399 attr.flags = flags; in bpf_map_update_elem()
401 ret = sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, attr_sz); in bpf_map_update_elem()
408 union bpf_attr attr; in bpf_map_lookup_elem() local
411 memset(&attr, 0, attr_sz); in bpf_map_lookup_elem()
412 attr.map_fd = fd; in bpf_map_lookup_elem()
413 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem()
414 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem()
416 ret = sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, attr_sz); in bpf_map_lookup_elem()
423 union bpf_attr attr; in bpf_map_lookup_elem_flags() local
426 memset(&attr, 0, attr_sz); in bpf_map_lookup_elem_flags()
427 attr.map_fd = fd; in bpf_map_lookup_elem_flags()
428 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem_flags()
429 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem_flags()
430 attr.flags = flags; in bpf_map_lookup_elem_flags()
432 ret = sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, attr_sz); in bpf_map_lookup_elem_flags()
439 union bpf_attr attr; in bpf_map_lookup_and_delete_elem() local
442 memset(&attr, 0, attr_sz); in bpf_map_lookup_and_delete_elem()
443 attr.map_fd = fd; in bpf_map_lookup_and_delete_elem()
444 attr.key = ptr_to_u64(key); in bpf_map_lookup_and_delete_elem()
445 attr.value = ptr_to_u64(value); in bpf_map_lookup_and_delete_elem()
447 ret = sys_bpf(BPF_MAP_LOOKUP_AND_DELETE_ELEM, &attr, attr_sz); in bpf_map_lookup_and_delete_elem()
454 union bpf_attr attr; in bpf_map_lookup_and_delete_elem_flags() local
457 memset(&attr, 0, attr_sz); in bpf_map_lookup_and_delete_elem_flags()
458 attr.map_fd = fd; in bpf_map_lookup_and_delete_elem_flags()
459 attr.key = ptr_to_u64(key); in bpf_map_lookup_and_delete_elem_flags()
460 attr.value = ptr_to_u64(value); in bpf_map_lookup_and_delete_elem_flags()
461 attr.flags = flags; in bpf_map_lookup_and_delete_elem_flags()
463 ret = sys_bpf(BPF_MAP_LOOKUP_AND_DELETE_ELEM, &attr, attr_sz); in bpf_map_lookup_and_delete_elem_flags()
470 union bpf_attr attr; in bpf_map_delete_elem() local
473 memset(&attr, 0, attr_sz); in bpf_map_delete_elem()
474 attr.map_fd = fd; in bpf_map_delete_elem()
475 attr.key = ptr_to_u64(key); in bpf_map_delete_elem()
477 ret = sys_bpf(BPF_MAP_DELETE_ELEM, &attr, attr_sz); in bpf_map_delete_elem()
484 union bpf_attr attr; in bpf_map_delete_elem_flags() local
487 memset(&attr, 0, attr_sz); in bpf_map_delete_elem_flags()
488 attr.map_fd = fd; in bpf_map_delete_elem_flags()
489 attr.key = ptr_to_u64(key); in bpf_map_delete_elem_flags()
490 attr.flags = flags; in bpf_map_delete_elem_flags()
492 ret = sys_bpf(BPF_MAP_DELETE_ELEM, &attr, attr_sz); in bpf_map_delete_elem_flags()
499 union bpf_attr attr; in bpf_map_get_next_key() local
502 memset(&attr, 0, attr_sz); in bpf_map_get_next_key()
503 attr.map_fd = fd; in bpf_map_get_next_key()
504 attr.key = ptr_to_u64(key); in bpf_map_get_next_key()
505 attr.next_key = ptr_to_u64(next_key); in bpf_map_get_next_key()
507 ret = sys_bpf(BPF_MAP_GET_NEXT_KEY, &attr, attr_sz); in bpf_map_get_next_key()
514 union bpf_attr attr; in bpf_map_freeze() local
517 memset(&attr, 0, attr_sz); in bpf_map_freeze()
518 attr.map_fd = fd; in bpf_map_freeze()
520 ret = sys_bpf(BPF_MAP_FREEZE, &attr, attr_sz); in bpf_map_freeze()
530 union bpf_attr attr; in bpf_map_batch_common() local
536 memset(&attr, 0, attr_sz); in bpf_map_batch_common()
537 attr.batch.map_fd = fd; in bpf_map_batch_common()
538 attr.batch.in_batch = ptr_to_u64(in_batch); in bpf_map_batch_common()
539 attr.batch.out_batch = ptr_to_u64(out_batch); in bpf_map_batch_common()
540 attr.batch.keys = ptr_to_u64(keys); in bpf_map_batch_common()
541 attr.batch.values = ptr_to_u64(values); in bpf_map_batch_common()
542 attr.batch.count = *count; in bpf_map_batch_common()
543 attr.batch.elem_flags = OPTS_GET(opts, elem_flags, 0); in bpf_map_batch_common()
544 attr.batch.flags = OPTS_GET(opts, flags, 0); in bpf_map_batch_common()
546 ret = sys_bpf(cmd, &attr, attr_sz); in bpf_map_batch_common()
547 *count = attr.batch.count; in bpf_map_batch_common()
586 union bpf_attr attr; in bpf_obj_pin_opts() local
592 memset(&attr, 0, attr_sz); in bpf_obj_pin_opts()
593 attr.path_fd = OPTS_GET(opts, path_fd, 0); in bpf_obj_pin_opts()
594 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_pin_opts()
595 attr.file_flags = OPTS_GET(opts, file_flags, 0); in bpf_obj_pin_opts()
596 attr.bpf_fd = fd; in bpf_obj_pin_opts()
598 ret = sys_bpf(BPF_OBJ_PIN, &attr, attr_sz); in bpf_obj_pin_opts()
615 union bpf_attr attr; in bpf_obj_get_opts() local
621 memset(&attr, 0, attr_sz); in bpf_obj_get_opts()
622 attr.path_fd = OPTS_GET(opts, path_fd, 0); in bpf_obj_get_opts()
623 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_get_opts()
624 attr.file_flags = OPTS_GET(opts, file_flags, 0); in bpf_obj_get_opts()
626 fd = sys_bpf_fd(BPF_OBJ_GET, &attr, attr_sz); in bpf_obj_get_opts()
646 union bpf_attr attr; in bpf_prog_attach_opts() local
659 memset(&attr, 0, attr_sz); in bpf_prog_attach_opts()
660 attr.target_fd = target; in bpf_prog_attach_opts()
661 attr.attach_bpf_fd = prog_fd; in bpf_prog_attach_opts()
662 attr.attach_type = type; in bpf_prog_attach_opts()
663 attr.replace_bpf_fd = OPTS_GET(opts, replace_fd, 0); in bpf_prog_attach_opts()
664 attr.expected_revision = OPTS_GET(opts, expected_revision, 0); in bpf_prog_attach_opts()
667 attr.attach_flags = flags | BPF_F_ID; in bpf_prog_attach_opts()
668 attr.relative_id = relative_id; in bpf_prog_attach_opts()
670 attr.attach_flags = flags; in bpf_prog_attach_opts()
671 attr.relative_fd = relative_fd; in bpf_prog_attach_opts()
674 ret = sys_bpf(BPF_PROG_ATTACH, &attr, attr_sz); in bpf_prog_attach_opts()
684 union bpf_attr attr; in bpf_prog_detach_opts() local
697 memset(&attr, 0, attr_sz); in bpf_prog_detach_opts()
698 attr.target_fd = target; in bpf_prog_detach_opts()
699 attr.attach_bpf_fd = prog_fd; in bpf_prog_detach_opts()
700 attr.attach_type = type; in bpf_prog_detach_opts()
701 attr.expected_revision = OPTS_GET(opts, expected_revision, 0); in bpf_prog_detach_opts()
704 attr.attach_flags = flags | BPF_F_ID; in bpf_prog_detach_opts()
705 attr.relative_id = relative_id; in bpf_prog_detach_opts()
707 attr.attach_flags = flags; in bpf_prog_detach_opts()
708 attr.relative_fd = relative_fd; in bpf_prog_detach_opts()
711 ret = sys_bpf(BPF_PROG_DETACH, &attr, attr_sz); in bpf_prog_detach_opts()
732 union bpf_attr attr; in bpf_link_create() local
748 memset(&attr, 0, attr_sz); in bpf_link_create()
749 attr.link_create.prog_fd = prog_fd; in bpf_link_create()
750 attr.link_create.target_fd = target_fd; in bpf_link_create()
751 attr.link_create.attach_type = attach_type; in bpf_link_create()
752 attr.link_create.flags = OPTS_GET(opts, flags, 0); in bpf_link_create()
755 attr.link_create.target_btf_id = target_btf_id; in bpf_link_create()
761 attr.link_create.iter_info = ptr_to_u64(OPTS_GET(opts, iter_info, (void *)0)); in bpf_link_create()
762 attr.link_create.iter_info_len = iter_info_len; in bpf_link_create()
765 attr.link_create.perf_event.bpf_cookie = OPTS_GET(opts, perf_event.bpf_cookie, 0); in bpf_link_create()
771 attr.link_create.kprobe_multi.flags = OPTS_GET(opts, kprobe_multi.flags, 0); in bpf_link_create()
772 attr.link_create.kprobe_multi.cnt = OPTS_GET(opts, kprobe_multi.cnt, 0); in bpf_link_create()
773 attr.link_create.kprobe_multi.syms = ptr_to_u64(OPTS_GET(opts, kprobe_multi.syms, 0)); in bpf_link_create()
774 attr.link_create.kprobe_multi.addrs = ptr_to_u64(OPTS_GET(opts, kprobe_multi.addrs, 0)); in bpf_link_create()
775 attr.link_create.kprobe_multi.cookies = ptr_to_u64(OPTS_GET(opts, kprobe_multi.cookies, 0)); in bpf_link_create()
781 attr.link_create.uprobe_multi.flags = OPTS_GET(opts, uprobe_multi.flags, 0); in bpf_link_create()
782 attr.link_create.uprobe_multi.cnt = OPTS_GET(opts, uprobe_multi.cnt, 0); in bpf_link_create()
783 attr.link_create.uprobe_multi.path = ptr_to_u64(OPTS_GET(opts, uprobe_multi.path, 0)); in bpf_link_create()
784 attr.link_create.uprobe_multi.offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.offsets, 0)); in bpf_link_create()
785 …attr.link_create.uprobe_multi.ref_ctr_offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.ref_ctr_off… in bpf_link_create()
786 attr.link_create.uprobe_multi.cookies = ptr_to_u64(OPTS_GET(opts, uprobe_multi.cookies, 0)); in bpf_link_create()
787 attr.link_create.uprobe_multi.pid = OPTS_GET(opts, uprobe_multi.pid, 0); in bpf_link_create()
796 attr.link_create.tracing.cookie = OPTS_GET(opts, tracing.cookie, 0); in bpf_link_create()
801 attr.link_create.netfilter.pf = OPTS_GET(opts, netfilter.pf, 0); in bpf_link_create()
802 attr.link_create.netfilter.hooknum = OPTS_GET(opts, netfilter.hooknum, 0); in bpf_link_create()
803 attr.link_create.netfilter.priority = OPTS_GET(opts, netfilter.priority, 0); in bpf_link_create()
804 attr.link_create.netfilter.flags = OPTS_GET(opts, netfilter.flags, 0); in bpf_link_create()
815 attr.link_create.tcx.relative_id = relative_id; in bpf_link_create()
816 attr.link_create.flags |= BPF_F_ID; in bpf_link_create()
818 attr.link_create.tcx.relative_fd = relative_fd; in bpf_link_create()
820 attr.link_create.tcx.expected_revision = OPTS_GET(opts, tcx.expected_revision, 0); in bpf_link_create()
831 attr.link_create.netkit.relative_id = relative_id; in bpf_link_create()
832 attr.link_create.flags |= BPF_F_ID; in bpf_link_create()
834 attr.link_create.netkit.relative_fd = relative_fd; in bpf_link_create()
836 attr.link_create.netkit.expected_revision = OPTS_GET(opts, netkit.expected_revision, 0); in bpf_link_create()
874 attr.link_create.cgroup.relative_id = relative_id; in bpf_link_create()
875 attr.link_create.flags |= BPF_F_ID; in bpf_link_create()
877 attr.link_create.cgroup.relative_fd = relative_fd; in bpf_link_create()
879 attr.link_create.cgroup.expected_revision = in bpf_link_create()
890 fd = sys_bpf_fd(BPF_LINK_CREATE, &attr, attr_sz); in bpf_link_create()
903 if (attr.link_create.target_fd || attr.link_create.target_btf_id) in bpf_link_create()
927 union bpf_attr attr; in bpf_link_detach() local
930 memset(&attr, 0, attr_sz); in bpf_link_detach()
931 attr.link_detach.link_fd = link_fd; in bpf_link_detach()
933 ret = sys_bpf(BPF_LINK_DETACH, &attr, attr_sz); in bpf_link_detach()
941 union bpf_attr attr; in bpf_link_update() local
950 memset(&attr, 0, attr_sz); in bpf_link_update()
951 attr.link_update.link_fd = link_fd; in bpf_link_update()
952 attr.link_update.new_prog_fd = new_prog_fd; in bpf_link_update()
953 attr.link_update.flags = OPTS_GET(opts, flags, 0); in bpf_link_update()
955 attr.link_update.old_prog_fd = OPTS_GET(opts, old_prog_fd, 0); in bpf_link_update()
957 attr.link_update.old_map_fd = OPTS_GET(opts, old_map_fd, 0); in bpf_link_update()
959 ret = sys_bpf(BPF_LINK_UPDATE, &attr, attr_sz); in bpf_link_update()
966 union bpf_attr attr; in bpf_iter_create() local
969 memset(&attr, 0, attr_sz); in bpf_iter_create()
970 attr.iter_create.link_fd = link_fd; in bpf_iter_create()
972 fd = sys_bpf_fd(BPF_ITER_CREATE, &attr, attr_sz); in bpf_iter_create()
980 union bpf_attr attr; in bpf_prog_query_opts() local
986 memset(&attr, 0, attr_sz); in bpf_prog_query_opts()
987 attr.query.target_fd = target; in bpf_prog_query_opts()
988 attr.query.attach_type = type; in bpf_prog_query_opts()
989 attr.query.query_flags = OPTS_GET(opts, query_flags, 0); in bpf_prog_query_opts()
990 attr.query.count = OPTS_GET(opts, count, 0); in bpf_prog_query_opts()
991 attr.query.prog_ids = ptr_to_u64(OPTS_GET(opts, prog_ids, NULL)); in bpf_prog_query_opts()
992 attr.query.link_ids = ptr_to_u64(OPTS_GET(opts, link_ids, NULL)); in bpf_prog_query_opts()
993 attr.query.prog_attach_flags = ptr_to_u64(OPTS_GET(opts, prog_attach_flags, NULL)); in bpf_prog_query_opts()
994 attr.query.link_attach_flags = ptr_to_u64(OPTS_GET(opts, link_attach_flags, NULL)); in bpf_prog_query_opts()
996 ret = sys_bpf(BPF_PROG_QUERY, &attr, attr_sz); in bpf_prog_query_opts()
998 OPTS_SET(opts, attach_flags, attr.query.attach_flags); in bpf_prog_query_opts()
999 OPTS_SET(opts, revision, attr.query.revision); in bpf_prog_query_opts()
1000 OPTS_SET(opts, count, attr.query.count); in bpf_prog_query_opts()
1027 union bpf_attr attr; in bpf_prog_test_run_opts() local
1033 memset(&attr, 0, attr_sz); in bpf_prog_test_run_opts()
1034 attr.test.prog_fd = prog_fd; in bpf_prog_test_run_opts()
1035 attr.test.batch_size = OPTS_GET(opts, batch_size, 0); in bpf_prog_test_run_opts()
1036 attr.test.cpu = OPTS_GET(opts, cpu, 0); in bpf_prog_test_run_opts()
1037 attr.test.flags = OPTS_GET(opts, flags, 0); in bpf_prog_test_run_opts()
1038 attr.test.repeat = OPTS_GET(opts, repeat, 0); in bpf_prog_test_run_opts()
1039 attr.test.duration = OPTS_GET(opts, duration, 0); in bpf_prog_test_run_opts()
1040 attr.test.ctx_size_in = OPTS_GET(opts, ctx_size_in, 0); in bpf_prog_test_run_opts()
1041 attr.test.ctx_size_out = OPTS_GET(opts, ctx_size_out, 0); in bpf_prog_test_run_opts()
1042 attr.test.data_size_in = OPTS_GET(opts, data_size_in, 0); in bpf_prog_test_run_opts()
1043 attr.test.data_size_out = OPTS_GET(opts, data_size_out, 0); in bpf_prog_test_run_opts()
1044 attr.test.ctx_in = ptr_to_u64(OPTS_GET(opts, ctx_in, NULL)); in bpf_prog_test_run_opts()
1045 attr.test.ctx_out = ptr_to_u64(OPTS_GET(opts, ctx_out, NULL)); in bpf_prog_test_run_opts()
1046 attr.test.data_in = ptr_to_u64(OPTS_GET(opts, data_in, NULL)); in bpf_prog_test_run_opts()
1047 attr.test.data_out = ptr_to_u64(OPTS_GET(opts, data_out, NULL)); in bpf_prog_test_run_opts()
1049 ret = sys_bpf(BPF_PROG_TEST_RUN, &attr, attr_sz); in bpf_prog_test_run_opts()
1051 OPTS_SET(opts, data_size_out, attr.test.data_size_out); in bpf_prog_test_run_opts()
1052 OPTS_SET(opts, ctx_size_out, attr.test.ctx_size_out); in bpf_prog_test_run_opts()
1053 OPTS_SET(opts, duration, attr.test.duration); in bpf_prog_test_run_opts()
1054 OPTS_SET(opts, retval, attr.test.retval); in bpf_prog_test_run_opts()
1062 union bpf_attr attr; in bpf_obj_get_next_id() local
1065 memset(&attr, 0, attr_sz); in bpf_obj_get_next_id()
1066 attr.start_id = start_id; in bpf_obj_get_next_id()
1068 err = sys_bpf(cmd, &attr, attr_sz); in bpf_obj_get_next_id()
1070 *next_id = attr.next_id; in bpf_obj_get_next_id()
1099 union bpf_attr attr; in bpf_prog_get_fd_by_id_opts() local
1105 memset(&attr, 0, attr_sz); in bpf_prog_get_fd_by_id_opts()
1106 attr.prog_id = id; in bpf_prog_get_fd_by_id_opts()
1107 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_prog_get_fd_by_id_opts()
1109 fd = sys_bpf_fd(BPF_PROG_GET_FD_BY_ID, &attr, attr_sz); in bpf_prog_get_fd_by_id_opts()
1122 union bpf_attr attr; in bpf_map_get_fd_by_id_opts() local
1128 memset(&attr, 0, attr_sz); in bpf_map_get_fd_by_id_opts()
1129 attr.map_id = id; in bpf_map_get_fd_by_id_opts()
1130 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_map_get_fd_by_id_opts()
1132 fd = sys_bpf_fd(BPF_MAP_GET_FD_BY_ID, &attr, attr_sz); in bpf_map_get_fd_by_id_opts()
1145 union bpf_attr attr; in bpf_btf_get_fd_by_id_opts() local
1151 memset(&attr, 0, attr_sz); in bpf_btf_get_fd_by_id_opts()
1152 attr.btf_id = id; in bpf_btf_get_fd_by_id_opts()
1153 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_btf_get_fd_by_id_opts()
1154 attr.fd_by_id_token_fd = OPTS_GET(opts, token_fd, 0); in bpf_btf_get_fd_by_id_opts()
1156 fd = sys_bpf_fd(BPF_BTF_GET_FD_BY_ID, &attr, attr_sz); in bpf_btf_get_fd_by_id_opts()
1169 union bpf_attr attr; in bpf_link_get_fd_by_id_opts() local
1175 memset(&attr, 0, attr_sz); in bpf_link_get_fd_by_id_opts()
1176 attr.link_id = id; in bpf_link_get_fd_by_id_opts()
1177 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_link_get_fd_by_id_opts()
1179 fd = sys_bpf_fd(BPF_LINK_GET_FD_BY_ID, &attr, attr_sz); in bpf_link_get_fd_by_id_opts()
1191 union bpf_attr attr; in bpf_obj_get_info_by_fd() local
1194 memset(&attr, 0, attr_sz); in bpf_obj_get_info_by_fd()
1195 attr.info.bpf_fd = bpf_fd; in bpf_obj_get_info_by_fd()
1196 attr.info.info_len = *info_len; in bpf_obj_get_info_by_fd()
1197 attr.info.info = ptr_to_u64(info); in bpf_obj_get_info_by_fd()
1199 err = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &attr, attr_sz); in bpf_obj_get_info_by_fd()
1201 *info_len = attr.info.info_len; in bpf_obj_get_info_by_fd()
1228 union bpf_attr attr; in bpf_raw_tracepoint_open_opts() local
1234 memset(&attr, 0, attr_sz); in bpf_raw_tracepoint_open_opts()
1235 attr.raw_tracepoint.prog_fd = prog_fd; in bpf_raw_tracepoint_open_opts()
1236 attr.raw_tracepoint.name = ptr_to_u64(OPTS_GET(opts, tp_name, NULL)); in bpf_raw_tracepoint_open_opts()
1237 attr.raw_tracepoint.cookie = OPTS_GET(opts, cookie, 0); in bpf_raw_tracepoint_open_opts()
1239 fd = sys_bpf_fd(BPF_RAW_TRACEPOINT_OPEN, &attr, attr_sz); in bpf_raw_tracepoint_open_opts()
1253 union bpf_attr attr; in bpf_btf_load() local
1261 memset(&attr, 0, attr_sz); in bpf_btf_load()
1275 attr.btf = ptr_to_u64(btf_data); in bpf_btf_load()
1276 attr.btf_size = btf_size; in bpf_btf_load()
1278 attr.btf_flags = OPTS_GET(opts, btf_flags, 0); in bpf_btf_load()
1279 attr.btf_token_fd = OPTS_GET(opts, token_fd, 0); in bpf_btf_load()
1287 attr.btf_log_buf = ptr_to_u64(log_buf); in bpf_btf_load()
1288 attr.btf_log_size = (__u32)log_size; in bpf_btf_load()
1289 attr.btf_log_level = log_level; in bpf_btf_load()
1292 fd = sys_bpf_fd(BPF_BTF_LOAD, &attr, attr_sz); in bpf_btf_load()
1294 attr.btf_log_buf = ptr_to_u64(log_buf); in bpf_btf_load()
1295 attr.btf_log_size = (__u32)log_size; in bpf_btf_load()
1296 attr.btf_log_level = 1; in bpf_btf_load()
1297 fd = sys_bpf_fd(BPF_BTF_LOAD, &attr, attr_sz); in bpf_btf_load()
1300 OPTS_SET(opts, log_true_size, attr.btf_log_true_size); in bpf_btf_load()
1309 union bpf_attr attr; in bpf_task_fd_query() local
1312 memset(&attr, 0, attr_sz); in bpf_task_fd_query()
1313 attr.task_fd_query.pid = pid; in bpf_task_fd_query()
1314 attr.task_fd_query.fd = fd; in bpf_task_fd_query()
1315 attr.task_fd_query.flags = flags; in bpf_task_fd_query()
1316 attr.task_fd_query.buf = ptr_to_u64(buf); in bpf_task_fd_query()
1317 attr.task_fd_query.buf_len = *buf_len; in bpf_task_fd_query()
1319 err = sys_bpf(BPF_TASK_FD_QUERY, &attr, attr_sz); in bpf_task_fd_query()
1321 *buf_len = attr.task_fd_query.buf_len; in bpf_task_fd_query()
1322 *prog_id = attr.task_fd_query.prog_id; in bpf_task_fd_query()
1323 *fd_type = attr.task_fd_query.fd_type; in bpf_task_fd_query()
1324 *probe_offset = attr.task_fd_query.probe_offset; in bpf_task_fd_query()
1325 *probe_addr = attr.task_fd_query.probe_addr; in bpf_task_fd_query()
1333 union bpf_attr attr; in bpf_enable_stats() local
1336 memset(&attr, 0, attr_sz); in bpf_enable_stats()
1337 attr.enable_stats.type = type; in bpf_enable_stats()
1339 fd = sys_bpf_fd(BPF_ENABLE_STATS, &attr, attr_sz); in bpf_enable_stats()
1347 union bpf_attr attr; in bpf_prog_bind_map() local
1353 memset(&attr, 0, attr_sz); in bpf_prog_bind_map()
1354 attr.prog_bind_map.prog_fd = prog_fd; in bpf_prog_bind_map()
1355 attr.prog_bind_map.map_fd = map_fd; in bpf_prog_bind_map()
1356 attr.prog_bind_map.flags = OPTS_GET(opts, flags, 0); in bpf_prog_bind_map()
1358 ret = sys_bpf(BPF_PROG_BIND_MAP, &attr, attr_sz); in bpf_prog_bind_map()
1365 union bpf_attr attr; in bpf_token_create() local
1371 memset(&attr, 0, attr_sz); in bpf_token_create()
1372 attr.token_create.bpffs_fd = bpffs_fd; in bpf_token_create()
1373 attr.token_create.flags = OPTS_GET(opts, flags, 0); in bpf_token_create()
1375 fd = sys_bpf_fd(BPF_TOKEN_CREATE, &attr, attr_sz); in bpf_token_create()
1383 union bpf_attr attr; in bpf_prog_stream_read() local
1389 memset(&attr, 0, attr_sz); in bpf_prog_stream_read()
1390 attr.prog_stream_read.stream_buf = ptr_to_u64(buf); in bpf_prog_stream_read()
1391 attr.prog_stream_read.stream_buf_len = buf_len; in bpf_prog_stream_read()
1392 attr.prog_stream_read.stream_id = stream_id; in bpf_prog_stream_read()
1393 attr.prog_stream_read.prog_fd = prog_fd; in bpf_prog_stream_read()
1395 err = sys_bpf(BPF_PROG_STREAM_READ_BY_FD, &attr, attr_sz); in bpf_prog_stream_read()