Lines Matching refs:attr

62 static inline int sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr,  in sys_bpf()  argument
65 return syscall(__NR_bpf, cmd, attr, size); in sys_bpf()
68 static inline int sys_bpf_prog_load(union bpf_attr *attr, unsigned int size) in sys_bpf_prog_load() argument
74 fd = sys_bpf(BPF_PROG_LOAD, attr, size); in sys_bpf_prog_load()
82 union bpf_attr attr; in bpf_create_map_xattr() local
85 memset(&attr, '\0', sizeof(attr)); in bpf_create_map_xattr()
87 attr.map_type = create_attr->map_type; in bpf_create_map_xattr()
88 attr.key_size = create_attr->key_size; in bpf_create_map_xattr()
89 attr.value_size = create_attr->value_size; in bpf_create_map_xattr()
90 attr.max_entries = create_attr->max_entries; in bpf_create_map_xattr()
91 attr.map_flags = create_attr->map_flags; in bpf_create_map_xattr()
93 memcpy(attr.map_name, create_attr->name, in bpf_create_map_xattr()
95 attr.numa_node = create_attr->numa_node; in bpf_create_map_xattr()
96 attr.btf_fd = create_attr->btf_fd; in bpf_create_map_xattr()
97 attr.btf_key_type_id = create_attr->btf_key_type_id; in bpf_create_map_xattr()
98 attr.btf_value_type_id = create_attr->btf_value_type_id; in bpf_create_map_xattr()
99 attr.map_ifindex = create_attr->map_ifindex; in bpf_create_map_xattr()
100 if (attr.map_type == BPF_MAP_TYPE_STRUCT_OPS) in bpf_create_map_xattr()
101 attr.btf_vmlinux_value_type_id = in bpf_create_map_xattr()
104 attr.inner_map_fd = create_attr->inner_map_fd; in bpf_create_map_xattr()
106 fd = sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); in bpf_create_map_xattr()
164 union bpf_attr attr; in bpf_create_map_in_map_node() local
167 memset(&attr, '\0', sizeof(attr)); in bpf_create_map_in_map_node()
169 attr.map_type = map_type; in bpf_create_map_in_map_node()
170 attr.key_size = key_size; in bpf_create_map_in_map_node()
171 attr.value_size = 4; in bpf_create_map_in_map_node()
172 attr.inner_map_fd = inner_map_fd; in bpf_create_map_in_map_node()
173 attr.max_entries = max_entries; in bpf_create_map_in_map_node()
174 attr.map_flags = map_flags; in bpf_create_map_in_map_node()
176 memcpy(attr.map_name, name, in bpf_create_map_in_map_node()
180 attr.map_flags |= BPF_F_NUMA_NODE; in bpf_create_map_in_map_node()
181 attr.numa_node = node; in bpf_create_map_in_map_node()
184 fd = sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); in bpf_create_map_in_map_node()
225 union bpf_attr attr; in libbpf__bpf_prog_load() local
234 memset(&attr, 0, sizeof(attr)); in libbpf__bpf_prog_load()
235 attr.prog_type = load_attr->prog_type; in libbpf__bpf_prog_load()
236 attr.expected_attach_type = load_attr->expected_attach_type; in libbpf__bpf_prog_load()
239 attr.attach_prog_fd = load_attr->attach_prog_fd; in libbpf__bpf_prog_load()
241 attr.attach_btf_obj_fd = load_attr->attach_btf_obj_fd; in libbpf__bpf_prog_load()
242 attr.attach_btf_id = load_attr->attach_btf_id; in libbpf__bpf_prog_load()
244 attr.prog_ifindex = load_attr->prog_ifindex; in libbpf__bpf_prog_load()
245 attr.kern_version = load_attr->kern_version; in libbpf__bpf_prog_load()
247 attr.insn_cnt = (__u32)load_attr->insn_cnt; in libbpf__bpf_prog_load()
248 attr.insns = ptr_to_u64(load_attr->insns); in libbpf__bpf_prog_load()
249 attr.license = ptr_to_u64(load_attr->license); in libbpf__bpf_prog_load()
251 attr.log_level = load_attr->log_level; in libbpf__bpf_prog_load()
252 if (attr.log_level) { in libbpf__bpf_prog_load()
253 attr.log_buf = ptr_to_u64(load_attr->log_buf); in libbpf__bpf_prog_load()
254 attr.log_size = load_attr->log_buf_sz; in libbpf__bpf_prog_load()
257 attr.prog_btf_fd = load_attr->prog_btf_fd; in libbpf__bpf_prog_load()
258 attr.prog_flags = load_attr->prog_flags; in libbpf__bpf_prog_load()
260 attr.func_info_rec_size = load_attr->func_info_rec_size; in libbpf__bpf_prog_load()
261 attr.func_info_cnt = load_attr->func_info_cnt; in libbpf__bpf_prog_load()
262 attr.func_info = ptr_to_u64(load_attr->func_info); in libbpf__bpf_prog_load()
264 attr.line_info_rec_size = load_attr->line_info_rec_size; in libbpf__bpf_prog_load()
265 attr.line_info_cnt = load_attr->line_info_cnt; in libbpf__bpf_prog_load()
266 attr.line_info = ptr_to_u64(load_attr->line_info); in libbpf__bpf_prog_load()
269 memcpy(attr.prog_name, load_attr->name, in libbpf__bpf_prog_load()
272 fd = sys_bpf_prog_load(&attr, sizeof(attr)); in libbpf__bpf_prog_load()
281 if (!finfo && attr.func_info_cnt && in libbpf__bpf_prog_load()
282 attr.func_info_rec_size < load_attr->func_info_rec_size) { in libbpf__bpf_prog_load()
287 attr.func_info_rec_size); in libbpf__bpf_prog_load()
293 attr.func_info = ptr_to_u64(finfo); in libbpf__bpf_prog_load()
294 attr.func_info_rec_size = load_attr->func_info_rec_size; in libbpf__bpf_prog_load()
295 } else if (!linfo && attr.line_info_cnt && in libbpf__bpf_prog_load()
296 attr.line_info_rec_size < in libbpf__bpf_prog_load()
301 attr.line_info_rec_size); in libbpf__bpf_prog_load()
307 attr.line_info = ptr_to_u64(linfo); in libbpf__bpf_prog_load()
308 attr.line_info_rec_size = load_attr->line_info_rec_size; in libbpf__bpf_prog_load()
313 fd = sys_bpf_prog_load(&attr, sizeof(attr)); in libbpf__bpf_prog_load()
322 attr.log_buf = ptr_to_u64(load_attr->log_buf); in libbpf__bpf_prog_load()
323 attr.log_size = load_attr->log_buf_sz; in libbpf__bpf_prog_load()
324 attr.log_level = 1; in libbpf__bpf_prog_load()
327 fd = sys_bpf_prog_load(&attr, sizeof(attr)); in libbpf__bpf_prog_load()
402 union bpf_attr attr; in bpf_verify_program() local
405 memset(&attr, 0, sizeof(attr)); in bpf_verify_program()
406 attr.prog_type = type; in bpf_verify_program()
407 attr.insn_cnt = (__u32)insns_cnt; in bpf_verify_program()
408 attr.insns = ptr_to_u64(insns); in bpf_verify_program()
409 attr.license = ptr_to_u64(license); in bpf_verify_program()
410 attr.log_buf = ptr_to_u64(log_buf); in bpf_verify_program()
411 attr.log_size = log_buf_sz; in bpf_verify_program()
412 attr.log_level = log_level; in bpf_verify_program()
414 attr.kern_version = kern_version; in bpf_verify_program()
415 attr.prog_flags = prog_flags; in bpf_verify_program()
417 fd = sys_bpf_prog_load(&attr, sizeof(attr)); in bpf_verify_program()
424 union bpf_attr attr; in bpf_map_update_elem() local
427 memset(&attr, 0, sizeof(attr)); in bpf_map_update_elem()
428 attr.map_fd = fd; in bpf_map_update_elem()
429 attr.key = ptr_to_u64(key); in bpf_map_update_elem()
430 attr.value = ptr_to_u64(value); in bpf_map_update_elem()
431 attr.flags = flags; in bpf_map_update_elem()
433 ret = sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr)); in bpf_map_update_elem()
439 union bpf_attr attr; in bpf_map_lookup_elem() local
442 memset(&attr, 0, sizeof(attr)); in bpf_map_lookup_elem()
443 attr.map_fd = fd; in bpf_map_lookup_elem()
444 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem()
445 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem()
447 ret = sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr)); in bpf_map_lookup_elem()
453 union bpf_attr attr; in bpf_map_lookup_elem_flags() local
456 memset(&attr, 0, sizeof(attr)); in bpf_map_lookup_elem_flags()
457 attr.map_fd = fd; in bpf_map_lookup_elem_flags()
458 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem_flags()
459 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem_flags()
460 attr.flags = flags; in bpf_map_lookup_elem_flags()
462 ret = sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr)); in bpf_map_lookup_elem_flags()
468 union bpf_attr attr; in bpf_map_lookup_and_delete_elem() local
471 memset(&attr, 0, sizeof(attr)); in bpf_map_lookup_and_delete_elem()
472 attr.map_fd = fd; in bpf_map_lookup_and_delete_elem()
473 attr.key = ptr_to_u64(key); in bpf_map_lookup_and_delete_elem()
474 attr.value = ptr_to_u64(value); in bpf_map_lookup_and_delete_elem()
476 ret = sys_bpf(BPF_MAP_LOOKUP_AND_DELETE_ELEM, &attr, sizeof(attr)); in bpf_map_lookup_and_delete_elem()
482 union bpf_attr attr; in bpf_map_lookup_and_delete_elem_flags() local
484 memset(&attr, 0, sizeof(attr)); in bpf_map_lookup_and_delete_elem_flags()
485 attr.map_fd = fd; in bpf_map_lookup_and_delete_elem_flags()
486 attr.key = ptr_to_u64(key); in bpf_map_lookup_and_delete_elem_flags()
487 attr.value = ptr_to_u64(value); in bpf_map_lookup_and_delete_elem_flags()
488 attr.flags = flags; in bpf_map_lookup_and_delete_elem_flags()
490 return sys_bpf(BPF_MAP_LOOKUP_AND_DELETE_ELEM, &attr, sizeof(attr)); in bpf_map_lookup_and_delete_elem_flags()
495 union bpf_attr attr; in bpf_map_delete_elem() local
498 memset(&attr, 0, sizeof(attr)); in bpf_map_delete_elem()
499 attr.map_fd = fd; in bpf_map_delete_elem()
500 attr.key = ptr_to_u64(key); in bpf_map_delete_elem()
502 ret = sys_bpf(BPF_MAP_DELETE_ELEM, &attr, sizeof(attr)); in bpf_map_delete_elem()
508 union bpf_attr attr; in bpf_map_get_next_key() local
511 memset(&attr, 0, sizeof(attr)); in bpf_map_get_next_key()
512 attr.map_fd = fd; in bpf_map_get_next_key()
513 attr.key = ptr_to_u64(key); in bpf_map_get_next_key()
514 attr.next_key = ptr_to_u64(next_key); in bpf_map_get_next_key()
516 ret = sys_bpf(BPF_MAP_GET_NEXT_KEY, &attr, sizeof(attr)); in bpf_map_get_next_key()
522 union bpf_attr attr; in bpf_map_freeze() local
525 memset(&attr, 0, sizeof(attr)); in bpf_map_freeze()
526 attr.map_fd = fd; in bpf_map_freeze()
528 ret = sys_bpf(BPF_MAP_FREEZE, &attr, sizeof(attr)); in bpf_map_freeze()
537 union bpf_attr attr; in bpf_map_batch_common() local
543 memset(&attr, 0, sizeof(attr)); in bpf_map_batch_common()
544 attr.batch.map_fd = fd; in bpf_map_batch_common()
545 attr.batch.in_batch = ptr_to_u64(in_batch); in bpf_map_batch_common()
546 attr.batch.out_batch = ptr_to_u64(out_batch); in bpf_map_batch_common()
547 attr.batch.keys = ptr_to_u64(keys); in bpf_map_batch_common()
548 attr.batch.values = ptr_to_u64(values); in bpf_map_batch_common()
549 attr.batch.count = *count; in bpf_map_batch_common()
550 attr.batch.elem_flags = OPTS_GET(opts, elem_flags, 0); in bpf_map_batch_common()
551 attr.batch.flags = OPTS_GET(opts, flags, 0); in bpf_map_batch_common()
553 ret = sys_bpf(cmd, &attr, sizeof(attr)); in bpf_map_batch_common()
554 *count = attr.batch.count; in bpf_map_batch_common()
592 union bpf_attr attr; in bpf_obj_pin() local
595 memset(&attr, 0, sizeof(attr)); in bpf_obj_pin()
596 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_pin()
597 attr.bpf_fd = fd; in bpf_obj_pin()
599 ret = sys_bpf(BPF_OBJ_PIN, &attr, sizeof(attr)); in bpf_obj_pin()
605 union bpf_attr attr; in bpf_obj_get() local
608 memset(&attr, 0, sizeof(attr)); in bpf_obj_get()
609 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_get()
611 fd = sys_bpf(BPF_OBJ_GET, &attr, sizeof(attr)); in bpf_obj_get()
629 union bpf_attr attr; in bpf_prog_attach_xattr() local
635 memset(&attr, 0, sizeof(attr)); in bpf_prog_attach_xattr()
636 attr.target_fd = target_fd; in bpf_prog_attach_xattr()
637 attr.attach_bpf_fd = prog_fd; in bpf_prog_attach_xattr()
638 attr.attach_type = type; in bpf_prog_attach_xattr()
639 attr.attach_flags = OPTS_GET(opts, flags, 0); in bpf_prog_attach_xattr()
640 attr.replace_bpf_fd = OPTS_GET(opts, replace_prog_fd, 0); in bpf_prog_attach_xattr()
642 ret = sys_bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)); in bpf_prog_attach_xattr()
648 union bpf_attr attr; in bpf_prog_detach() local
651 memset(&attr, 0, sizeof(attr)); in bpf_prog_detach()
652 attr.target_fd = target_fd; in bpf_prog_detach()
653 attr.attach_type = type; in bpf_prog_detach()
655 ret = sys_bpf(BPF_PROG_DETACH, &attr, sizeof(attr)); in bpf_prog_detach()
661 union bpf_attr attr; in bpf_prog_detach2() local
664 memset(&attr, 0, sizeof(attr)); in bpf_prog_detach2()
665 attr.target_fd = target_fd; in bpf_prog_detach2()
666 attr.attach_bpf_fd = prog_fd; in bpf_prog_detach2()
667 attr.attach_type = type; in bpf_prog_detach2()
669 ret = sys_bpf(BPF_PROG_DETACH, &attr, sizeof(attr)); in bpf_prog_detach2()
678 union bpf_attr attr; in bpf_link_create() local
695 memset(&attr, 0, sizeof(attr)); in bpf_link_create()
696 attr.link_create.prog_fd = prog_fd; in bpf_link_create()
697 attr.link_create.target_fd = target_fd; in bpf_link_create()
698 attr.link_create.attach_type = attach_type; in bpf_link_create()
699 attr.link_create.flags = OPTS_GET(opts, flags, 0); in bpf_link_create()
702 attr.link_create.target_btf_id = target_btf_id; in bpf_link_create()
708 attr.link_create.iter_info = ptr_to_u64(OPTS_GET(opts, iter_info, (void *)0)); in bpf_link_create()
709 attr.link_create.iter_info_len = iter_info_len; in bpf_link_create()
712 attr.link_create.perf_event.bpf_cookie = OPTS_GET(opts, perf_event.bpf_cookie, 0); in bpf_link_create()
722 fd = sys_bpf(BPF_LINK_CREATE, &attr, sizeof(attr)); in bpf_link_create()
728 union bpf_attr attr; in bpf_link_detach() local
731 memset(&attr, 0, sizeof(attr)); in bpf_link_detach()
732 attr.link_detach.link_fd = link_fd; in bpf_link_detach()
734 ret = sys_bpf(BPF_LINK_DETACH, &attr, sizeof(attr)); in bpf_link_detach()
741 union bpf_attr attr; in bpf_link_update() local
747 memset(&attr, 0, sizeof(attr)); in bpf_link_update()
748 attr.link_update.link_fd = link_fd; in bpf_link_update()
749 attr.link_update.new_prog_fd = new_prog_fd; in bpf_link_update()
750 attr.link_update.flags = OPTS_GET(opts, flags, 0); in bpf_link_update()
751 attr.link_update.old_prog_fd = OPTS_GET(opts, old_prog_fd, 0); in bpf_link_update()
753 ret = sys_bpf(BPF_LINK_UPDATE, &attr, sizeof(attr)); in bpf_link_update()
759 union bpf_attr attr; in bpf_iter_create() local
762 memset(&attr, 0, sizeof(attr)); in bpf_iter_create()
763 attr.iter_create.link_fd = link_fd; in bpf_iter_create()
765 fd = sys_bpf(BPF_ITER_CREATE, &attr, sizeof(attr)); in bpf_iter_create()
772 union bpf_attr attr; in bpf_prog_query() local
775 memset(&attr, 0, sizeof(attr)); in bpf_prog_query()
776 attr.query.target_fd = target_fd; in bpf_prog_query()
777 attr.query.attach_type = type; in bpf_prog_query()
778 attr.query.query_flags = query_flags; in bpf_prog_query()
779 attr.query.prog_cnt = *prog_cnt; in bpf_prog_query()
780 attr.query.prog_ids = ptr_to_u64(prog_ids); in bpf_prog_query()
782 ret = sys_bpf(BPF_PROG_QUERY, &attr, sizeof(attr)); in bpf_prog_query()
785 *attach_flags = attr.query.attach_flags; in bpf_prog_query()
786 *prog_cnt = attr.query.prog_cnt; in bpf_prog_query()
795 union bpf_attr attr; in bpf_prog_test_run() local
798 memset(&attr, 0, sizeof(attr)); in bpf_prog_test_run()
799 attr.test.prog_fd = prog_fd; in bpf_prog_test_run()
800 attr.test.data_in = ptr_to_u64(data); in bpf_prog_test_run()
801 attr.test.data_out = ptr_to_u64(data_out); in bpf_prog_test_run()
802 attr.test.data_size_in = size; in bpf_prog_test_run()
803 attr.test.repeat = repeat; in bpf_prog_test_run()
805 ret = sys_bpf(BPF_PROG_TEST_RUN, &attr, sizeof(attr)); in bpf_prog_test_run()
808 *size_out = attr.test.data_size_out; in bpf_prog_test_run()
810 *retval = attr.test.retval; in bpf_prog_test_run()
812 *duration = attr.test.duration; in bpf_prog_test_run()
819 union bpf_attr attr; in bpf_prog_test_run_xattr() local
825 memset(&attr, 0, sizeof(attr)); in bpf_prog_test_run_xattr()
826 attr.test.prog_fd = test_attr->prog_fd; in bpf_prog_test_run_xattr()
827 attr.test.data_in = ptr_to_u64(test_attr->data_in); in bpf_prog_test_run_xattr()
828 attr.test.data_out = ptr_to_u64(test_attr->data_out); in bpf_prog_test_run_xattr()
829 attr.test.data_size_in = test_attr->data_size_in; in bpf_prog_test_run_xattr()
830 attr.test.data_size_out = test_attr->data_size_out; in bpf_prog_test_run_xattr()
831 attr.test.ctx_in = ptr_to_u64(test_attr->ctx_in); in bpf_prog_test_run_xattr()
832 attr.test.ctx_out = ptr_to_u64(test_attr->ctx_out); in bpf_prog_test_run_xattr()
833 attr.test.ctx_size_in = test_attr->ctx_size_in; in bpf_prog_test_run_xattr()
834 attr.test.ctx_size_out = test_attr->ctx_size_out; in bpf_prog_test_run_xattr()
835 attr.test.repeat = test_attr->repeat; in bpf_prog_test_run_xattr()
837 ret = sys_bpf(BPF_PROG_TEST_RUN, &attr, sizeof(attr)); in bpf_prog_test_run_xattr()
839 test_attr->data_size_out = attr.test.data_size_out; in bpf_prog_test_run_xattr()
840 test_attr->ctx_size_out = attr.test.ctx_size_out; in bpf_prog_test_run_xattr()
841 test_attr->retval = attr.test.retval; in bpf_prog_test_run_xattr()
842 test_attr->duration = attr.test.duration; in bpf_prog_test_run_xattr()
849 union bpf_attr attr; in bpf_prog_test_run_opts() local
855 memset(&attr, 0, sizeof(attr)); in bpf_prog_test_run_opts()
856 attr.test.prog_fd = prog_fd; in bpf_prog_test_run_opts()
857 attr.test.cpu = OPTS_GET(opts, cpu, 0); in bpf_prog_test_run_opts()
858 attr.test.flags = OPTS_GET(opts, flags, 0); in bpf_prog_test_run_opts()
859 attr.test.repeat = OPTS_GET(opts, repeat, 0); in bpf_prog_test_run_opts()
860 attr.test.duration = OPTS_GET(opts, duration, 0); in bpf_prog_test_run_opts()
861 attr.test.ctx_size_in = OPTS_GET(opts, ctx_size_in, 0); in bpf_prog_test_run_opts()
862 attr.test.ctx_size_out = OPTS_GET(opts, ctx_size_out, 0); in bpf_prog_test_run_opts()
863 attr.test.data_size_in = OPTS_GET(opts, data_size_in, 0); in bpf_prog_test_run_opts()
864 attr.test.data_size_out = OPTS_GET(opts, data_size_out, 0); in bpf_prog_test_run_opts()
865 attr.test.ctx_in = ptr_to_u64(OPTS_GET(opts, ctx_in, NULL)); in bpf_prog_test_run_opts()
866 attr.test.ctx_out = ptr_to_u64(OPTS_GET(opts, ctx_out, NULL)); in bpf_prog_test_run_opts()
867 attr.test.data_in = ptr_to_u64(OPTS_GET(opts, data_in, NULL)); in bpf_prog_test_run_opts()
868 attr.test.data_out = ptr_to_u64(OPTS_GET(opts, data_out, NULL)); in bpf_prog_test_run_opts()
870 ret = sys_bpf(BPF_PROG_TEST_RUN, &attr, sizeof(attr)); in bpf_prog_test_run_opts()
872 OPTS_SET(opts, data_size_out, attr.test.data_size_out); in bpf_prog_test_run_opts()
873 OPTS_SET(opts, ctx_size_out, attr.test.ctx_size_out); in bpf_prog_test_run_opts()
874 OPTS_SET(opts, duration, attr.test.duration); in bpf_prog_test_run_opts()
875 OPTS_SET(opts, retval, attr.test.retval); in bpf_prog_test_run_opts()
882 union bpf_attr attr; in bpf_obj_get_next_id() local
885 memset(&attr, 0, sizeof(attr)); in bpf_obj_get_next_id()
886 attr.start_id = start_id; in bpf_obj_get_next_id()
888 err = sys_bpf(cmd, &attr, sizeof(attr)); in bpf_obj_get_next_id()
890 *next_id = attr.next_id; in bpf_obj_get_next_id()
917 union bpf_attr attr; in bpf_prog_get_fd_by_id() local
920 memset(&attr, 0, sizeof(attr)); in bpf_prog_get_fd_by_id()
921 attr.prog_id = id; in bpf_prog_get_fd_by_id()
923 fd = sys_bpf(BPF_PROG_GET_FD_BY_ID, &attr, sizeof(attr)); in bpf_prog_get_fd_by_id()
929 union bpf_attr attr; in bpf_map_get_fd_by_id() local
932 memset(&attr, 0, sizeof(attr)); in bpf_map_get_fd_by_id()
933 attr.map_id = id; in bpf_map_get_fd_by_id()
935 fd = sys_bpf(BPF_MAP_GET_FD_BY_ID, &attr, sizeof(attr)); in bpf_map_get_fd_by_id()
941 union bpf_attr attr; in bpf_btf_get_fd_by_id() local
944 memset(&attr, 0, sizeof(attr)); in bpf_btf_get_fd_by_id()
945 attr.btf_id = id; in bpf_btf_get_fd_by_id()
947 fd = sys_bpf(BPF_BTF_GET_FD_BY_ID, &attr, sizeof(attr)); in bpf_btf_get_fd_by_id()
953 union bpf_attr attr; in bpf_link_get_fd_by_id() local
956 memset(&attr, 0, sizeof(attr)); in bpf_link_get_fd_by_id()
957 attr.link_id = id; in bpf_link_get_fd_by_id()
959 fd = sys_bpf(BPF_LINK_GET_FD_BY_ID, &attr, sizeof(attr)); in bpf_link_get_fd_by_id()
965 union bpf_attr attr; in bpf_obj_get_info_by_fd() local
968 memset(&attr, 0, sizeof(attr)); in bpf_obj_get_info_by_fd()
969 attr.info.bpf_fd = bpf_fd; in bpf_obj_get_info_by_fd()
970 attr.info.info_len = *info_len; in bpf_obj_get_info_by_fd()
971 attr.info.info = ptr_to_u64(info); in bpf_obj_get_info_by_fd()
973 err = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &attr, sizeof(attr)); in bpf_obj_get_info_by_fd()
976 *info_len = attr.info.info_len; in bpf_obj_get_info_by_fd()
983 union bpf_attr attr; in bpf_raw_tracepoint_open() local
986 memset(&attr, 0, sizeof(attr)); in bpf_raw_tracepoint_open()
987 attr.raw_tracepoint.name = ptr_to_u64(name); in bpf_raw_tracepoint_open()
988 attr.raw_tracepoint.prog_fd = prog_fd; in bpf_raw_tracepoint_open()
990 fd = sys_bpf(BPF_RAW_TRACEPOINT_OPEN, &attr, sizeof(attr)); in bpf_raw_tracepoint_open()
997 union bpf_attr attr = {}; in bpf_load_btf() local
1000 attr.btf = ptr_to_u64(btf); in bpf_load_btf()
1001 attr.btf_size = btf_size; in bpf_load_btf()
1005 attr.btf_log_level = 1; in bpf_load_btf()
1006 attr.btf_log_size = log_buf_size; in bpf_load_btf()
1007 attr.btf_log_buf = ptr_to_u64(log_buf); in bpf_load_btf()
1010 fd = sys_bpf(BPF_BTF_LOAD, &attr, sizeof(attr)); in bpf_load_btf()
1024 union bpf_attr attr = {}; in bpf_task_fd_query() local
1027 attr.task_fd_query.pid = pid; in bpf_task_fd_query()
1028 attr.task_fd_query.fd = fd; in bpf_task_fd_query()
1029 attr.task_fd_query.flags = flags; in bpf_task_fd_query()
1030 attr.task_fd_query.buf = ptr_to_u64(buf); in bpf_task_fd_query()
1031 attr.task_fd_query.buf_len = *buf_len; in bpf_task_fd_query()
1033 err = sys_bpf(BPF_TASK_FD_QUERY, &attr, sizeof(attr)); in bpf_task_fd_query()
1035 *buf_len = attr.task_fd_query.buf_len; in bpf_task_fd_query()
1036 *prog_id = attr.task_fd_query.prog_id; in bpf_task_fd_query()
1037 *fd_type = attr.task_fd_query.fd_type; in bpf_task_fd_query()
1038 *probe_offset = attr.task_fd_query.probe_offset; in bpf_task_fd_query()
1039 *probe_addr = attr.task_fd_query.probe_addr; in bpf_task_fd_query()
1046 union bpf_attr attr; in bpf_enable_stats() local
1049 memset(&attr, 0, sizeof(attr)); in bpf_enable_stats()
1050 attr.enable_stats.type = type; in bpf_enable_stats()
1052 fd = sys_bpf(BPF_ENABLE_STATS, &attr, sizeof(attr)); in bpf_enable_stats()
1059 union bpf_attr attr; in bpf_prog_bind_map() local
1065 memset(&attr, 0, sizeof(attr)); in bpf_prog_bind_map()
1066 attr.prog_bind_map.prog_fd = prog_fd; in bpf_prog_bind_map()
1067 attr.prog_bind_map.map_fd = map_fd; in bpf_prog_bind_map()
1068 attr.prog_bind_map.flags = OPTS_GET(opts, flags, 0); in bpf_prog_bind_map()
1070 ret = sys_bpf(BPF_PROG_BIND_MAP, &attr, sizeof(attr)); in bpf_prog_bind_map()