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()
124 prog_fd = sys_bpf_fd(BPF_PROG_LOAD, &attr, attr_sz); in probe_memcg_account()
173 union bpf_attr attr; in bpf_map_create() local
178 memset(&attr, 0, attr_sz); in bpf_map_create()
183 attr.map_type = map_type; in bpf_map_create()
185 libbpf_strlcpy(attr.map_name, map_name, sizeof(attr.map_name)); in bpf_map_create()
186 attr.key_size = key_size; in bpf_map_create()
187 attr.value_size = value_size; in bpf_map_create()
188 attr.max_entries = max_entries; in bpf_map_create()
190 attr.btf_fd = OPTS_GET(opts, btf_fd, 0); in bpf_map_create()
191 attr.btf_key_type_id = OPTS_GET(opts, btf_key_type_id, 0); in bpf_map_create()
192 attr.btf_value_type_id = OPTS_GET(opts, btf_value_type_id, 0); in bpf_map_create()
193 attr.btf_vmlinux_value_type_id = OPTS_GET(opts, btf_vmlinux_value_type_id, 0); in bpf_map_create()
195 attr.inner_map_fd = OPTS_GET(opts, inner_map_fd, 0); in bpf_map_create()
196 attr.map_flags = OPTS_GET(opts, map_flags, 0); in bpf_map_create()
197 attr.map_extra = OPTS_GET(opts, map_extra, 0); in bpf_map_create()
198 attr.numa_node = OPTS_GET(opts, numa_node, 0); in bpf_map_create()
199 attr.map_ifindex = OPTS_GET(opts, map_ifindex, 0); in bpf_map_create()
201 fd = sys_bpf_fd(BPF_MAP_CREATE, &attr, attr_sz); in bpf_map_create()
241 union bpf_attr attr; in bpf_prog_load() local
255 memset(&attr, 0, attr_sz); in bpf_prog_load()
257 attr.prog_type = prog_type; in bpf_prog_load()
258 attr.expected_attach_type = OPTS_GET(opts, expected_attach_type, 0); in bpf_prog_load()
260 attr.prog_btf_fd = OPTS_GET(opts, prog_btf_fd, 0); in bpf_prog_load()
261 attr.prog_flags = OPTS_GET(opts, prog_flags, 0); in bpf_prog_load()
262 attr.prog_ifindex = OPTS_GET(opts, prog_ifindex, 0); in bpf_prog_load()
263 attr.kern_version = OPTS_GET(opts, kern_version, 0); in bpf_prog_load()
266 libbpf_strlcpy(attr.prog_name, prog_name, sizeof(attr.prog_name)); in bpf_prog_load()
267 attr.license = ptr_to_u64(license); in bpf_prog_load()
272 attr.insns = ptr_to_u64(insns); in bpf_prog_load()
273 attr.insn_cnt = (__u32)insn_cnt; in bpf_prog_load()
281 attr.attach_btf_id = OPTS_GET(opts, attach_btf_id, 0); in bpf_prog_load()
283 attr.attach_prog_fd = attach_prog_fd; in bpf_prog_load()
285 attr.attach_btf_obj_fd = attach_btf_obj_fd; in bpf_prog_load()
296 attr.func_info_rec_size = func_info_rec_size; in bpf_prog_load()
297 attr.func_info = ptr_to_u64(func_info); in bpf_prog_load()
298 attr.func_info_cnt = OPTS_GET(opts, func_info_cnt, 0); in bpf_prog_load()
302 attr.line_info_rec_size = line_info_rec_size; in bpf_prog_load()
303 attr.line_info = ptr_to_u64(line_info); in bpf_prog_load()
304 attr.line_info_cnt = OPTS_GET(opts, line_info_cnt, 0); in bpf_prog_load()
306 attr.fd_array = ptr_to_u64(OPTS_GET(opts, fd_array, NULL)); in bpf_prog_load()
309 attr.log_buf = ptr_to_u64(log_buf); in bpf_prog_load()
310 attr.log_size = log_size; in bpf_prog_load()
311 attr.log_level = log_level; in bpf_prog_load()
314 fd = sys_bpf_prog_load(&attr, attr_sz, attempts); in bpf_prog_load()
315 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
324 if (!finfo && attr.func_info_cnt && in bpf_prog_load()
325 attr.func_info_rec_size < func_info_rec_size) { in bpf_prog_load()
328 attr.func_info_cnt, in bpf_prog_load()
330 attr.func_info_rec_size); in bpf_prog_load()
336 attr.func_info = ptr_to_u64(finfo); in bpf_prog_load()
337 attr.func_info_rec_size = func_info_rec_size; in bpf_prog_load()
338 } else if (!linfo && attr.line_info_cnt && in bpf_prog_load()
339 attr.line_info_rec_size < line_info_rec_size) { in bpf_prog_load()
341 attr.line_info_cnt, in bpf_prog_load()
343 attr.line_info_rec_size); in bpf_prog_load()
349 attr.line_info = ptr_to_u64(linfo); in bpf_prog_load()
350 attr.line_info_rec_size = line_info_rec_size; in bpf_prog_load()
355 fd = sys_bpf_prog_load(&attr, attr_sz, attempts); in bpf_prog_load()
356 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
366 attr.log_buf = ptr_to_u64(log_buf); in bpf_prog_load()
367 attr.log_size = log_size; in bpf_prog_load()
368 attr.log_level = 1; in bpf_prog_load()
370 fd = sys_bpf_prog_load(&attr, attr_sz, attempts); in bpf_prog_load()
371 OPTS_SET(opts, log_true_size, attr.log_true_size); in bpf_prog_load()
384 union bpf_attr attr; in bpf_map_update_elem() local
387 memset(&attr, 0, attr_sz); in bpf_map_update_elem()
388 attr.map_fd = fd; in bpf_map_update_elem()
389 attr.key = ptr_to_u64(key); in bpf_map_update_elem()
390 attr.value = ptr_to_u64(value); in bpf_map_update_elem()
391 attr.flags = flags; in bpf_map_update_elem()
393 ret = sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, attr_sz); in bpf_map_update_elem()
400 union bpf_attr attr; in bpf_map_lookup_elem() local
403 memset(&attr, 0, attr_sz); in bpf_map_lookup_elem()
404 attr.map_fd = fd; in bpf_map_lookup_elem()
405 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem()
406 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem()
408 ret = sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, attr_sz); in bpf_map_lookup_elem()
415 union bpf_attr attr; in bpf_map_lookup_elem_flags() local
418 memset(&attr, 0, attr_sz); in bpf_map_lookup_elem_flags()
419 attr.map_fd = fd; in bpf_map_lookup_elem_flags()
420 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem_flags()
421 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem_flags()
422 attr.flags = flags; in bpf_map_lookup_elem_flags()
424 ret = sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, attr_sz); in bpf_map_lookup_elem_flags()
431 union bpf_attr attr; in bpf_map_lookup_and_delete_elem() local
434 memset(&attr, 0, attr_sz); in bpf_map_lookup_and_delete_elem()
435 attr.map_fd = fd; in bpf_map_lookup_and_delete_elem()
436 attr.key = ptr_to_u64(key); in bpf_map_lookup_and_delete_elem()
437 attr.value = ptr_to_u64(value); in bpf_map_lookup_and_delete_elem()
439 ret = sys_bpf(BPF_MAP_LOOKUP_AND_DELETE_ELEM, &attr, attr_sz); in bpf_map_lookup_and_delete_elem()
446 union bpf_attr attr; in bpf_map_lookup_and_delete_elem_flags() local
449 memset(&attr, 0, attr_sz); in bpf_map_lookup_and_delete_elem_flags()
450 attr.map_fd = fd; in bpf_map_lookup_and_delete_elem_flags()
451 attr.key = ptr_to_u64(key); in bpf_map_lookup_and_delete_elem_flags()
452 attr.value = ptr_to_u64(value); in bpf_map_lookup_and_delete_elem_flags()
453 attr.flags = flags; in bpf_map_lookup_and_delete_elem_flags()
455 ret = sys_bpf(BPF_MAP_LOOKUP_AND_DELETE_ELEM, &attr, attr_sz); in bpf_map_lookup_and_delete_elem_flags()
462 union bpf_attr attr; in bpf_map_delete_elem() local
465 memset(&attr, 0, attr_sz); in bpf_map_delete_elem()
466 attr.map_fd = fd; in bpf_map_delete_elem()
467 attr.key = ptr_to_u64(key); in bpf_map_delete_elem()
469 ret = sys_bpf(BPF_MAP_DELETE_ELEM, &attr, attr_sz); in bpf_map_delete_elem()
476 union bpf_attr attr; in bpf_map_delete_elem_flags() local
479 memset(&attr, 0, attr_sz); in bpf_map_delete_elem_flags()
480 attr.map_fd = fd; in bpf_map_delete_elem_flags()
481 attr.key = ptr_to_u64(key); in bpf_map_delete_elem_flags()
482 attr.flags = flags; in bpf_map_delete_elem_flags()
484 ret = sys_bpf(BPF_MAP_DELETE_ELEM, &attr, attr_sz); in bpf_map_delete_elem_flags()
491 union bpf_attr attr; in bpf_map_get_next_key() local
494 memset(&attr, 0, attr_sz); in bpf_map_get_next_key()
495 attr.map_fd = fd; in bpf_map_get_next_key()
496 attr.key = ptr_to_u64(key); in bpf_map_get_next_key()
497 attr.next_key = ptr_to_u64(next_key); in bpf_map_get_next_key()
499 ret = sys_bpf(BPF_MAP_GET_NEXT_KEY, &attr, attr_sz); in bpf_map_get_next_key()
506 union bpf_attr attr; in bpf_map_freeze() local
509 memset(&attr, 0, attr_sz); in bpf_map_freeze()
510 attr.map_fd = fd; in bpf_map_freeze()
512 ret = sys_bpf(BPF_MAP_FREEZE, &attr, attr_sz); in bpf_map_freeze()
522 union bpf_attr attr; in bpf_map_batch_common() local
528 memset(&attr, 0, attr_sz); in bpf_map_batch_common()
529 attr.batch.map_fd = fd; in bpf_map_batch_common()
530 attr.batch.in_batch = ptr_to_u64(in_batch); in bpf_map_batch_common()
531 attr.batch.out_batch = ptr_to_u64(out_batch); in bpf_map_batch_common()
532 attr.batch.keys = ptr_to_u64(keys); in bpf_map_batch_common()
533 attr.batch.values = ptr_to_u64(values); in bpf_map_batch_common()
534 attr.batch.count = *count; in bpf_map_batch_common()
535 attr.batch.elem_flags = OPTS_GET(opts, elem_flags, 0); in bpf_map_batch_common()
536 attr.batch.flags = OPTS_GET(opts, flags, 0); in bpf_map_batch_common()
538 ret = sys_bpf(cmd, &attr, attr_sz); in bpf_map_batch_common()
539 *count = attr.batch.count; in bpf_map_batch_common()
578 union bpf_attr attr; in bpf_obj_pin_opts() local
584 memset(&attr, 0, attr_sz); in bpf_obj_pin_opts()
585 attr.path_fd = OPTS_GET(opts, path_fd, 0); in bpf_obj_pin_opts()
586 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_pin_opts()
587 attr.file_flags = OPTS_GET(opts, file_flags, 0); in bpf_obj_pin_opts()
588 attr.bpf_fd = fd; in bpf_obj_pin_opts()
590 ret = sys_bpf(BPF_OBJ_PIN, &attr, attr_sz); in bpf_obj_pin_opts()
607 union bpf_attr attr; in bpf_obj_get_opts() local
613 memset(&attr, 0, attr_sz); in bpf_obj_get_opts()
614 attr.path_fd = OPTS_GET(opts, path_fd, 0); in bpf_obj_get_opts()
615 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_get_opts()
616 attr.file_flags = OPTS_GET(opts, file_flags, 0); in bpf_obj_get_opts()
618 fd = sys_bpf_fd(BPF_OBJ_GET, &attr, attr_sz); in bpf_obj_get_opts()
638 union bpf_attr attr; in bpf_prog_attach_opts() local
651 memset(&attr, 0, attr_sz); in bpf_prog_attach_opts()
652 attr.target_fd = target; in bpf_prog_attach_opts()
653 attr.attach_bpf_fd = prog_fd; in bpf_prog_attach_opts()
654 attr.attach_type = type; in bpf_prog_attach_opts()
655 attr.replace_bpf_fd = OPTS_GET(opts, replace_fd, 0); in bpf_prog_attach_opts()
656 attr.expected_revision = OPTS_GET(opts, expected_revision, 0); in bpf_prog_attach_opts()
659 attr.attach_flags = flags | BPF_F_ID; in bpf_prog_attach_opts()
660 attr.relative_id = relative_id; in bpf_prog_attach_opts()
662 attr.attach_flags = flags; in bpf_prog_attach_opts()
663 attr.relative_fd = relative_fd; in bpf_prog_attach_opts()
666 ret = sys_bpf(BPF_PROG_ATTACH, &attr, attr_sz); in bpf_prog_attach_opts()
676 union bpf_attr attr; in bpf_prog_detach_opts() local
689 memset(&attr, 0, attr_sz); in bpf_prog_detach_opts()
690 attr.target_fd = target; in bpf_prog_detach_opts()
691 attr.attach_bpf_fd = prog_fd; in bpf_prog_detach_opts()
692 attr.attach_type = type; in bpf_prog_detach_opts()
693 attr.expected_revision = OPTS_GET(opts, expected_revision, 0); in bpf_prog_detach_opts()
696 attr.attach_flags = flags | BPF_F_ID; in bpf_prog_detach_opts()
697 attr.relative_id = relative_id; in bpf_prog_detach_opts()
699 attr.attach_flags = flags; in bpf_prog_detach_opts()
700 attr.relative_fd = relative_fd; in bpf_prog_detach_opts()
703 ret = sys_bpf(BPF_PROG_DETACH, &attr, attr_sz); in bpf_prog_detach_opts()
724 union bpf_attr attr; in bpf_link_create() local
740 memset(&attr, 0, attr_sz); in bpf_link_create()
741 attr.link_create.prog_fd = prog_fd; in bpf_link_create()
742 attr.link_create.target_fd = target_fd; in bpf_link_create()
743 attr.link_create.attach_type = attach_type; in bpf_link_create()
744 attr.link_create.flags = OPTS_GET(opts, flags, 0); in bpf_link_create()
747 attr.link_create.target_btf_id = target_btf_id; in bpf_link_create()
753 attr.link_create.iter_info = ptr_to_u64(OPTS_GET(opts, iter_info, (void *)0)); in bpf_link_create()
754 attr.link_create.iter_info_len = iter_info_len; in bpf_link_create()
757 attr.link_create.perf_event.bpf_cookie = OPTS_GET(opts, perf_event.bpf_cookie, 0); in bpf_link_create()
762 attr.link_create.kprobe_multi.flags = OPTS_GET(opts, kprobe_multi.flags, 0); in bpf_link_create()
763 attr.link_create.kprobe_multi.cnt = OPTS_GET(opts, kprobe_multi.cnt, 0); in bpf_link_create()
764 attr.link_create.kprobe_multi.syms = ptr_to_u64(OPTS_GET(opts, kprobe_multi.syms, 0)); in bpf_link_create()
765 attr.link_create.kprobe_multi.addrs = ptr_to_u64(OPTS_GET(opts, kprobe_multi.addrs, 0)); in bpf_link_create()
766 attr.link_create.kprobe_multi.cookies = ptr_to_u64(OPTS_GET(opts, kprobe_multi.cookies, 0)); in bpf_link_create()
771 attr.link_create.uprobe_multi.flags = OPTS_GET(opts, uprobe_multi.flags, 0); in bpf_link_create()
772 attr.link_create.uprobe_multi.cnt = OPTS_GET(opts, uprobe_multi.cnt, 0); in bpf_link_create()
773 attr.link_create.uprobe_multi.path = ptr_to_u64(OPTS_GET(opts, uprobe_multi.path, 0)); in bpf_link_create()
774 attr.link_create.uprobe_multi.offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.offsets, 0)); in bpf_link_create()
775attr.link_create.uprobe_multi.ref_ctr_offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.ref_ctr_off… in bpf_link_create()
776 attr.link_create.uprobe_multi.cookies = ptr_to_u64(OPTS_GET(opts, uprobe_multi.cookies, 0)); in bpf_link_create()
777 attr.link_create.uprobe_multi.pid = OPTS_GET(opts, uprobe_multi.pid, 0); in bpf_link_create()
785 attr.link_create.tracing.cookie = OPTS_GET(opts, tracing.cookie, 0); in bpf_link_create()
790 attr.link_create.netfilter.pf = OPTS_GET(opts, netfilter.pf, 0); in bpf_link_create()
791 attr.link_create.netfilter.hooknum = OPTS_GET(opts, netfilter.hooknum, 0); in bpf_link_create()
792 attr.link_create.netfilter.priority = OPTS_GET(opts, netfilter.priority, 0); in bpf_link_create()
793 attr.link_create.netfilter.flags = OPTS_GET(opts, netfilter.flags, 0); in bpf_link_create()
804 attr.link_create.tcx.relative_id = relative_id; in bpf_link_create()
805 attr.link_create.flags |= BPF_F_ID; in bpf_link_create()
807 attr.link_create.tcx.relative_fd = relative_fd; in bpf_link_create()
809 attr.link_create.tcx.expected_revision = OPTS_GET(opts, tcx.expected_revision, 0); in bpf_link_create()
819 fd = sys_bpf_fd(BPF_LINK_CREATE, &attr, attr_sz); in bpf_link_create()
832 if (attr.link_create.target_fd || attr.link_create.target_btf_id) in bpf_link_create()
856 union bpf_attr attr; in bpf_link_detach() local
859 memset(&attr, 0, attr_sz); in bpf_link_detach()
860 attr.link_detach.link_fd = link_fd; in bpf_link_detach()
862 ret = sys_bpf(BPF_LINK_DETACH, &attr, attr_sz); in bpf_link_detach()
870 union bpf_attr attr; in bpf_link_update() local
879 memset(&attr, 0, attr_sz); in bpf_link_update()
880 attr.link_update.link_fd = link_fd; in bpf_link_update()
881 attr.link_update.new_prog_fd = new_prog_fd; in bpf_link_update()
882 attr.link_update.flags = OPTS_GET(opts, flags, 0); in bpf_link_update()
884 attr.link_update.old_prog_fd = OPTS_GET(opts, old_prog_fd, 0); in bpf_link_update()
886 attr.link_update.old_map_fd = OPTS_GET(opts, old_map_fd, 0); in bpf_link_update()
888 ret = sys_bpf(BPF_LINK_UPDATE, &attr, attr_sz); in bpf_link_update()
895 union bpf_attr attr; in bpf_iter_create() local
898 memset(&attr, 0, attr_sz); in bpf_iter_create()
899 attr.iter_create.link_fd = link_fd; in bpf_iter_create()
901 fd = sys_bpf_fd(BPF_ITER_CREATE, &attr, attr_sz); in bpf_iter_create()
909 union bpf_attr attr; in bpf_prog_query_opts() local
915 memset(&attr, 0, attr_sz); in bpf_prog_query_opts()
916 attr.query.target_fd = target; in bpf_prog_query_opts()
917 attr.query.attach_type = type; in bpf_prog_query_opts()
918 attr.query.query_flags = OPTS_GET(opts, query_flags, 0); in bpf_prog_query_opts()
919 attr.query.count = OPTS_GET(opts, count, 0); in bpf_prog_query_opts()
920 attr.query.prog_ids = ptr_to_u64(OPTS_GET(opts, prog_ids, NULL)); in bpf_prog_query_opts()
921 attr.query.link_ids = ptr_to_u64(OPTS_GET(opts, link_ids, NULL)); in bpf_prog_query_opts()
922 attr.query.prog_attach_flags = ptr_to_u64(OPTS_GET(opts, prog_attach_flags, NULL)); in bpf_prog_query_opts()
923 attr.query.link_attach_flags = ptr_to_u64(OPTS_GET(opts, link_attach_flags, NULL)); in bpf_prog_query_opts()
925 ret = sys_bpf(BPF_PROG_QUERY, &attr, attr_sz); in bpf_prog_query_opts()
927 OPTS_SET(opts, attach_flags, attr.query.attach_flags); in bpf_prog_query_opts()
928 OPTS_SET(opts, revision, attr.query.revision); in bpf_prog_query_opts()
929 OPTS_SET(opts, count, attr.query.count); in bpf_prog_query_opts()
956 union bpf_attr attr; in bpf_prog_test_run_opts() local
962 memset(&attr, 0, attr_sz); in bpf_prog_test_run_opts()
963 attr.test.prog_fd = prog_fd; in bpf_prog_test_run_opts()
964 attr.test.batch_size = OPTS_GET(opts, batch_size, 0); in bpf_prog_test_run_opts()
965 attr.test.cpu = OPTS_GET(opts, cpu, 0); in bpf_prog_test_run_opts()
966 attr.test.flags = OPTS_GET(opts, flags, 0); in bpf_prog_test_run_opts()
967 attr.test.repeat = OPTS_GET(opts, repeat, 0); in bpf_prog_test_run_opts()
968 attr.test.duration = OPTS_GET(opts, duration, 0); in bpf_prog_test_run_opts()
969 attr.test.ctx_size_in = OPTS_GET(opts, ctx_size_in, 0); in bpf_prog_test_run_opts()
970 attr.test.ctx_size_out = OPTS_GET(opts, ctx_size_out, 0); in bpf_prog_test_run_opts()
971 attr.test.data_size_in = OPTS_GET(opts, data_size_in, 0); in bpf_prog_test_run_opts()
972 attr.test.data_size_out = OPTS_GET(opts, data_size_out, 0); in bpf_prog_test_run_opts()
973 attr.test.ctx_in = ptr_to_u64(OPTS_GET(opts, ctx_in, NULL)); in bpf_prog_test_run_opts()
974 attr.test.ctx_out = ptr_to_u64(OPTS_GET(opts, ctx_out, NULL)); in bpf_prog_test_run_opts()
975 attr.test.data_in = ptr_to_u64(OPTS_GET(opts, data_in, NULL)); in bpf_prog_test_run_opts()
976 attr.test.data_out = ptr_to_u64(OPTS_GET(opts, data_out, NULL)); in bpf_prog_test_run_opts()
978 ret = sys_bpf(BPF_PROG_TEST_RUN, &attr, attr_sz); in bpf_prog_test_run_opts()
980 OPTS_SET(opts, data_size_out, attr.test.data_size_out); in bpf_prog_test_run_opts()
981 OPTS_SET(opts, ctx_size_out, attr.test.ctx_size_out); in bpf_prog_test_run_opts()
982 OPTS_SET(opts, duration, attr.test.duration); in bpf_prog_test_run_opts()
983 OPTS_SET(opts, retval, attr.test.retval); in bpf_prog_test_run_opts()
991 union bpf_attr attr; in bpf_obj_get_next_id() local
994 memset(&attr, 0, attr_sz); in bpf_obj_get_next_id()
995 attr.start_id = start_id; in bpf_obj_get_next_id()
997 err = sys_bpf(cmd, &attr, attr_sz); in bpf_obj_get_next_id()
999 *next_id = attr.next_id; in bpf_obj_get_next_id()
1028 union bpf_attr attr; in bpf_prog_get_fd_by_id_opts() local
1034 memset(&attr, 0, attr_sz); in bpf_prog_get_fd_by_id_opts()
1035 attr.prog_id = id; in bpf_prog_get_fd_by_id_opts()
1036 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_prog_get_fd_by_id_opts()
1038 fd = sys_bpf_fd(BPF_PROG_GET_FD_BY_ID, &attr, attr_sz); in bpf_prog_get_fd_by_id_opts()
1051 union bpf_attr attr; in bpf_map_get_fd_by_id_opts() local
1057 memset(&attr, 0, attr_sz); in bpf_map_get_fd_by_id_opts()
1058 attr.map_id = id; in bpf_map_get_fd_by_id_opts()
1059 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_map_get_fd_by_id_opts()
1061 fd = sys_bpf_fd(BPF_MAP_GET_FD_BY_ID, &attr, attr_sz); in bpf_map_get_fd_by_id_opts()
1074 union bpf_attr attr; in bpf_btf_get_fd_by_id_opts() local
1080 memset(&attr, 0, attr_sz); in bpf_btf_get_fd_by_id_opts()
1081 attr.btf_id = id; in bpf_btf_get_fd_by_id_opts()
1082 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_btf_get_fd_by_id_opts()
1084 fd = sys_bpf_fd(BPF_BTF_GET_FD_BY_ID, &attr, attr_sz); in bpf_btf_get_fd_by_id_opts()
1097 union bpf_attr attr; in bpf_link_get_fd_by_id_opts() local
1103 memset(&attr, 0, attr_sz); in bpf_link_get_fd_by_id_opts()
1104 attr.link_id = id; in bpf_link_get_fd_by_id_opts()
1105 attr.open_flags = OPTS_GET(opts, open_flags, 0); in bpf_link_get_fd_by_id_opts()
1107 fd = sys_bpf_fd(BPF_LINK_GET_FD_BY_ID, &attr, attr_sz); in bpf_link_get_fd_by_id_opts()
1119 union bpf_attr attr; in bpf_obj_get_info_by_fd() local
1122 memset(&attr, 0, attr_sz); in bpf_obj_get_info_by_fd()
1123 attr.info.bpf_fd = bpf_fd; in bpf_obj_get_info_by_fd()
1124 attr.info.info_len = *info_len; in bpf_obj_get_info_by_fd()
1125 attr.info.info = ptr_to_u64(info); in bpf_obj_get_info_by_fd()
1127 err = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &attr, attr_sz); in bpf_obj_get_info_by_fd()
1129 *info_len = attr.info.info_len; in bpf_obj_get_info_by_fd()
1156 union bpf_attr attr; in bpf_raw_tracepoint_open() local
1159 memset(&attr, 0, attr_sz); in bpf_raw_tracepoint_open()
1160 attr.raw_tracepoint.name = ptr_to_u64(name); in bpf_raw_tracepoint_open()
1161 attr.raw_tracepoint.prog_fd = prog_fd; in bpf_raw_tracepoint_open()
1163 fd = sys_bpf_fd(BPF_RAW_TRACEPOINT_OPEN, &attr, attr_sz); in bpf_raw_tracepoint_open()
1170 union bpf_attr attr; in bpf_btf_load() local
1178 memset(&attr, 0, attr_sz); in bpf_btf_load()
1192 attr.btf = ptr_to_u64(btf_data); in bpf_btf_load()
1193 attr.btf_size = btf_size; in bpf_btf_load()
1200 attr.btf_log_buf = ptr_to_u64(log_buf); in bpf_btf_load()
1201 attr.btf_log_size = (__u32)log_size; in bpf_btf_load()
1202 attr.btf_log_level = log_level; in bpf_btf_load()
1205 fd = sys_bpf_fd(BPF_BTF_LOAD, &attr, attr_sz); in bpf_btf_load()
1207 attr.btf_log_buf = ptr_to_u64(log_buf); in bpf_btf_load()
1208 attr.btf_log_size = (__u32)log_size; in bpf_btf_load()
1209 attr.btf_log_level = 1; in bpf_btf_load()
1210 fd = sys_bpf_fd(BPF_BTF_LOAD, &attr, attr_sz); in bpf_btf_load()
1213 OPTS_SET(opts, log_true_size, attr.btf_log_true_size); in bpf_btf_load()
1222 union bpf_attr attr; in bpf_task_fd_query() local
1225 memset(&attr, 0, attr_sz); in bpf_task_fd_query()
1226 attr.task_fd_query.pid = pid; in bpf_task_fd_query()
1227 attr.task_fd_query.fd = fd; in bpf_task_fd_query()
1228 attr.task_fd_query.flags = flags; in bpf_task_fd_query()
1229 attr.task_fd_query.buf = ptr_to_u64(buf); in bpf_task_fd_query()
1230 attr.task_fd_query.buf_len = *buf_len; in bpf_task_fd_query()
1232 err = sys_bpf(BPF_TASK_FD_QUERY, &attr, attr_sz); in bpf_task_fd_query()
1234 *buf_len = attr.task_fd_query.buf_len; in bpf_task_fd_query()
1235 *prog_id = attr.task_fd_query.prog_id; in bpf_task_fd_query()
1236 *fd_type = attr.task_fd_query.fd_type; in bpf_task_fd_query()
1237 *probe_offset = attr.task_fd_query.probe_offset; in bpf_task_fd_query()
1238 *probe_addr = attr.task_fd_query.probe_addr; in bpf_task_fd_query()
1246 union bpf_attr attr; in bpf_enable_stats() local
1249 memset(&attr, 0, attr_sz); in bpf_enable_stats()
1250 attr.enable_stats.type = type; in bpf_enable_stats()
1252 fd = sys_bpf_fd(BPF_ENABLE_STATS, &attr, attr_sz); in bpf_enable_stats()
1260 union bpf_attr attr; in bpf_prog_bind_map() local
1266 memset(&attr, 0, attr_sz); in bpf_prog_bind_map()
1267 attr.prog_bind_map.prog_fd = prog_fd; in bpf_prog_bind_map()
1268 attr.prog_bind_map.map_fd = map_fd; in bpf_prog_bind_map()
1269 attr.prog_bind_map.flags = OPTS_GET(opts, flags, 0); in bpf_prog_bind_map()
1271 ret = sys_bpf(BPF_PROG_BIND_MAP, &attr, attr_sz); in bpf_prog_bind_map()