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
73 fd = sys_bpf(BPF_PROG_LOAD, attr, size); in sys_bpf_prog_load()
81 union bpf_attr attr; in bpf_create_map_xattr() local
83 memset(&attr, '\0', sizeof(attr)); in bpf_create_map_xattr()
85 attr.map_type = create_attr->map_type; in bpf_create_map_xattr()
86 attr.key_size = create_attr->key_size; in bpf_create_map_xattr()
87 attr.value_size = create_attr->value_size; in bpf_create_map_xattr()
88 attr.max_entries = create_attr->max_entries; in bpf_create_map_xattr()
89 attr.map_flags = create_attr->map_flags; in bpf_create_map_xattr()
91 memcpy(attr.map_name, create_attr->name, in bpf_create_map_xattr()
93 attr.numa_node = create_attr->numa_node; in bpf_create_map_xattr()
94 attr.btf_fd = create_attr->btf_fd; in bpf_create_map_xattr()
95 attr.btf_key_type_id = create_attr->btf_key_type_id; in bpf_create_map_xattr()
96 attr.btf_value_type_id = create_attr->btf_value_type_id; in bpf_create_map_xattr()
97 attr.map_ifindex = create_attr->map_ifindex; in bpf_create_map_xattr()
98 attr.inner_map_fd = create_attr->inner_map_fd; in bpf_create_map_xattr()
100 return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); in bpf_create_map_xattr()
157 union bpf_attr attr; in bpf_create_map_in_map_node() local
159 memset(&attr, '\0', sizeof(attr)); in bpf_create_map_in_map_node()
161 attr.map_type = map_type; in bpf_create_map_in_map_node()
162 attr.key_size = key_size; in bpf_create_map_in_map_node()
163 attr.value_size = 4; in bpf_create_map_in_map_node()
164 attr.inner_map_fd = inner_map_fd; in bpf_create_map_in_map_node()
165 attr.max_entries = max_entries; in bpf_create_map_in_map_node()
166 attr.map_flags = map_flags; in bpf_create_map_in_map_node()
168 memcpy(attr.map_name, name, in bpf_create_map_in_map_node()
172 attr.map_flags |= BPF_F_NUMA_NODE; in bpf_create_map_in_map_node()
173 attr.numa_node = node; in bpf_create_map_in_map_node()
176 return sys_bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); in bpf_create_map_in_map_node()
217 union bpf_attr attr; in bpf_load_program_xattr() local
228 memset(&attr, 0, sizeof(attr)); in bpf_load_program_xattr()
229 attr.prog_type = load_attr->prog_type; in bpf_load_program_xattr()
230 attr.expected_attach_type = load_attr->expected_attach_type; in bpf_load_program_xattr()
231 attr.insn_cnt = (__u32)load_attr->insns_cnt; in bpf_load_program_xattr()
232 attr.insns = ptr_to_u64(load_attr->insns); in bpf_load_program_xattr()
233 attr.license = ptr_to_u64(load_attr->license); in bpf_load_program_xattr()
235 attr.log_level = log_level; in bpf_load_program_xattr()
237 attr.log_buf = ptr_to_u64(log_buf); in bpf_load_program_xattr()
238 attr.log_size = log_buf_sz; in bpf_load_program_xattr()
240 attr.log_buf = ptr_to_u64(NULL); in bpf_load_program_xattr()
241 attr.log_size = 0; in bpf_load_program_xattr()
244 attr.kern_version = load_attr->kern_version; in bpf_load_program_xattr()
245 attr.prog_ifindex = load_attr->prog_ifindex; in bpf_load_program_xattr()
246 attr.prog_btf_fd = load_attr->prog_btf_fd; in bpf_load_program_xattr()
247 attr.func_info_rec_size = load_attr->func_info_rec_size; in bpf_load_program_xattr()
248 attr.func_info_cnt = load_attr->func_info_cnt; in bpf_load_program_xattr()
249 attr.func_info = ptr_to_u64(load_attr->func_info); in bpf_load_program_xattr()
250 attr.line_info_rec_size = load_attr->line_info_rec_size; in bpf_load_program_xattr()
251 attr.line_info_cnt = load_attr->line_info_cnt; in bpf_load_program_xattr()
252 attr.line_info = ptr_to_u64(load_attr->line_info); in bpf_load_program_xattr()
254 memcpy(attr.prog_name, load_attr->name, in bpf_load_program_xattr()
256 attr.prog_flags = load_attr->prog_flags; in bpf_load_program_xattr()
258 fd = sys_bpf_prog_load(&attr, sizeof(attr)); in bpf_load_program_xattr()
267 if (!finfo && attr.func_info_cnt && in bpf_load_program_xattr()
268 attr.func_info_rec_size < load_attr->func_info_rec_size) { in bpf_load_program_xattr()
273 attr.func_info_rec_size); in bpf_load_program_xattr()
277 attr.func_info = ptr_to_u64(finfo); in bpf_load_program_xattr()
278 attr.func_info_rec_size = load_attr->func_info_rec_size; in bpf_load_program_xattr()
279 } else if (!linfo && attr.line_info_cnt && in bpf_load_program_xattr()
280 attr.line_info_rec_size < in bpf_load_program_xattr()
285 attr.line_info_rec_size); in bpf_load_program_xattr()
289 attr.line_info = ptr_to_u64(linfo); in bpf_load_program_xattr()
290 attr.line_info_rec_size = load_attr->line_info_rec_size; in bpf_load_program_xattr()
295 fd = sys_bpf_prog_load(&attr, sizeof(attr)); in bpf_load_program_xattr()
305 attr.log_buf = ptr_to_u64(log_buf); in bpf_load_program_xattr()
306 attr.log_size = log_buf_sz; in bpf_load_program_xattr()
307 attr.log_level = 1; in bpf_load_program_xattr()
309 fd = sys_bpf_prog_load(&attr, sizeof(attr)); in bpf_load_program_xattr()
340 union bpf_attr attr; in bpf_verify_program() local
342 memset(&attr, 0, sizeof(attr)); in bpf_verify_program()
343 attr.prog_type = type; in bpf_verify_program()
344 attr.insn_cnt = (__u32)insns_cnt; in bpf_verify_program()
345 attr.insns = ptr_to_u64(insns); in bpf_verify_program()
346 attr.license = ptr_to_u64(license); in bpf_verify_program()
347 attr.log_buf = ptr_to_u64(log_buf); in bpf_verify_program()
348 attr.log_size = log_buf_sz; in bpf_verify_program()
349 attr.log_level = log_level; in bpf_verify_program()
351 attr.kern_version = kern_version; in bpf_verify_program()
352 attr.prog_flags = prog_flags; in bpf_verify_program()
354 return sys_bpf_prog_load(&attr, sizeof(attr)); in bpf_verify_program()
360 union bpf_attr attr; in bpf_map_update_elem() local
362 memset(&attr, 0, sizeof(attr)); in bpf_map_update_elem()
363 attr.map_fd = fd; in bpf_map_update_elem()
364 attr.key = ptr_to_u64(key); in bpf_map_update_elem()
365 attr.value = ptr_to_u64(value); in bpf_map_update_elem()
366 attr.flags = flags; in bpf_map_update_elem()
368 return sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr)); in bpf_map_update_elem()
373 union bpf_attr attr; in bpf_map_lookup_elem() local
375 memset(&attr, 0, sizeof(attr)); in bpf_map_lookup_elem()
376 attr.map_fd = fd; in bpf_map_lookup_elem()
377 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem()
378 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem()
380 return sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr)); in bpf_map_lookup_elem()
385 union bpf_attr attr; in bpf_map_lookup_elem_flags() local
387 memset(&attr, 0, sizeof(attr)); in bpf_map_lookup_elem_flags()
388 attr.map_fd = fd; in bpf_map_lookup_elem_flags()
389 attr.key = ptr_to_u64(key); in bpf_map_lookup_elem_flags()
390 attr.value = ptr_to_u64(value); in bpf_map_lookup_elem_flags()
391 attr.flags = flags; in bpf_map_lookup_elem_flags()
393 return sys_bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr)); in bpf_map_lookup_elem_flags()
398 union bpf_attr attr; in bpf_map_lookup_and_delete_elem() local
400 memset(&attr, 0, sizeof(attr)); in bpf_map_lookup_and_delete_elem()
401 attr.map_fd = fd; in bpf_map_lookup_and_delete_elem()
402 attr.key = ptr_to_u64(key); in bpf_map_lookup_and_delete_elem()
403 attr.value = ptr_to_u64(value); in bpf_map_lookup_and_delete_elem()
405 return sys_bpf(BPF_MAP_LOOKUP_AND_DELETE_ELEM, &attr, sizeof(attr)); in bpf_map_lookup_and_delete_elem()
410 union bpf_attr attr; in bpf_map_delete_elem() local
412 memset(&attr, 0, sizeof(attr)); in bpf_map_delete_elem()
413 attr.map_fd = fd; in bpf_map_delete_elem()
414 attr.key = ptr_to_u64(key); in bpf_map_delete_elem()
416 return sys_bpf(BPF_MAP_DELETE_ELEM, &attr, sizeof(attr)); in bpf_map_delete_elem()
421 union bpf_attr attr; in bpf_map_get_next_key() local
423 memset(&attr, 0, sizeof(attr)); in bpf_map_get_next_key()
424 attr.map_fd = fd; in bpf_map_get_next_key()
425 attr.key = ptr_to_u64(key); in bpf_map_get_next_key()
426 attr.next_key = ptr_to_u64(next_key); in bpf_map_get_next_key()
428 return sys_bpf(BPF_MAP_GET_NEXT_KEY, &attr, sizeof(attr)); in bpf_map_get_next_key()
433 union bpf_attr attr; in bpf_map_freeze() local
435 memset(&attr, 0, sizeof(attr)); in bpf_map_freeze()
436 attr.map_fd = fd; in bpf_map_freeze()
438 return sys_bpf(BPF_MAP_FREEZE, &attr, sizeof(attr)); in bpf_map_freeze()
443 union bpf_attr attr; in bpf_obj_pin() local
445 memset(&attr, 0, sizeof(attr)); in bpf_obj_pin()
446 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_pin()
447 attr.bpf_fd = fd; in bpf_obj_pin()
449 return sys_bpf(BPF_OBJ_PIN, &attr, sizeof(attr)); in bpf_obj_pin()
454 union bpf_attr attr; in bpf_obj_get() local
456 memset(&attr, 0, sizeof(attr)); in bpf_obj_get()
457 attr.pathname = ptr_to_u64((void *)pathname); in bpf_obj_get()
459 return sys_bpf(BPF_OBJ_GET, &attr, sizeof(attr)); in bpf_obj_get()
465 union bpf_attr attr; in bpf_prog_attach() local
467 memset(&attr, 0, sizeof(attr)); in bpf_prog_attach()
468 attr.target_fd = target_fd; in bpf_prog_attach()
469 attr.attach_bpf_fd = prog_fd; in bpf_prog_attach()
470 attr.attach_type = type; in bpf_prog_attach()
471 attr.attach_flags = flags; in bpf_prog_attach()
473 return sys_bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)); in bpf_prog_attach()
478 union bpf_attr attr; in bpf_prog_detach() local
480 memset(&attr, 0, sizeof(attr)); in bpf_prog_detach()
481 attr.target_fd = target_fd; in bpf_prog_detach()
482 attr.attach_type = type; in bpf_prog_detach()
484 return sys_bpf(BPF_PROG_DETACH, &attr, sizeof(attr)); in bpf_prog_detach()
489 union bpf_attr attr; in bpf_prog_detach2() local
491 memset(&attr, 0, sizeof(attr)); in bpf_prog_detach2()
492 attr.target_fd = target_fd; in bpf_prog_detach2()
493 attr.attach_bpf_fd = prog_fd; in bpf_prog_detach2()
494 attr.attach_type = type; in bpf_prog_detach2()
496 return sys_bpf(BPF_PROG_DETACH, &attr, sizeof(attr)); in bpf_prog_detach2()
502 union bpf_attr attr; in bpf_prog_query() local
505 memset(&attr, 0, sizeof(attr)); in bpf_prog_query()
506 attr.query.target_fd = target_fd; in bpf_prog_query()
507 attr.query.attach_type = type; in bpf_prog_query()
508 attr.query.query_flags = query_flags; in bpf_prog_query()
509 attr.query.prog_cnt = *prog_cnt; in bpf_prog_query()
510 attr.query.prog_ids = ptr_to_u64(prog_ids); in bpf_prog_query()
512 ret = sys_bpf(BPF_PROG_QUERY, &attr, sizeof(attr)); in bpf_prog_query()
514 *attach_flags = attr.query.attach_flags; in bpf_prog_query()
515 *prog_cnt = attr.query.prog_cnt; in bpf_prog_query()
523 union bpf_attr attr; in bpf_prog_test_run() local
526 memset(&attr, 0, sizeof(attr)); in bpf_prog_test_run()
527 attr.test.prog_fd = prog_fd; in bpf_prog_test_run()
528 attr.test.data_in = ptr_to_u64(data); in bpf_prog_test_run()
529 attr.test.data_out = ptr_to_u64(data_out); in bpf_prog_test_run()
530 attr.test.data_size_in = size; in bpf_prog_test_run()
531 attr.test.repeat = repeat; in bpf_prog_test_run()
533 ret = sys_bpf(BPF_PROG_TEST_RUN, &attr, sizeof(attr)); in bpf_prog_test_run()
535 *size_out = attr.test.data_size_out; in bpf_prog_test_run()
537 *retval = attr.test.retval; in bpf_prog_test_run()
539 *duration = attr.test.duration; in bpf_prog_test_run()
545 union bpf_attr attr; in bpf_prog_test_run_xattr() local
551 memset(&attr, 0, sizeof(attr)); in bpf_prog_test_run_xattr()
552 attr.test.prog_fd = test_attr->prog_fd; in bpf_prog_test_run_xattr()
553 attr.test.data_in = ptr_to_u64(test_attr->data_in); in bpf_prog_test_run_xattr()
554 attr.test.data_out = ptr_to_u64(test_attr->data_out); in bpf_prog_test_run_xattr()
555 attr.test.data_size_in = test_attr->data_size_in; in bpf_prog_test_run_xattr()
556 attr.test.data_size_out = test_attr->data_size_out; in bpf_prog_test_run_xattr()
557 attr.test.ctx_in = ptr_to_u64(test_attr->ctx_in); in bpf_prog_test_run_xattr()
558 attr.test.ctx_out = ptr_to_u64(test_attr->ctx_out); in bpf_prog_test_run_xattr()
559 attr.test.ctx_size_in = test_attr->ctx_size_in; in bpf_prog_test_run_xattr()
560 attr.test.ctx_size_out = test_attr->ctx_size_out; in bpf_prog_test_run_xattr()
561 attr.test.repeat = test_attr->repeat; in bpf_prog_test_run_xattr()
563 ret = sys_bpf(BPF_PROG_TEST_RUN, &attr, sizeof(attr)); in bpf_prog_test_run_xattr()
564 test_attr->data_size_out = attr.test.data_size_out; in bpf_prog_test_run_xattr()
565 test_attr->ctx_size_out = attr.test.ctx_size_out; in bpf_prog_test_run_xattr()
566 test_attr->retval = attr.test.retval; in bpf_prog_test_run_xattr()
567 test_attr->duration = attr.test.duration; in bpf_prog_test_run_xattr()
573 union bpf_attr attr; in bpf_obj_get_next_id() local
576 memset(&attr, 0, sizeof(attr)); in bpf_obj_get_next_id()
577 attr.start_id = start_id; in bpf_obj_get_next_id()
579 err = sys_bpf(cmd, &attr, sizeof(attr)); in bpf_obj_get_next_id()
581 *next_id = attr.next_id; in bpf_obj_get_next_id()
603 union bpf_attr attr; in bpf_prog_get_fd_by_id() local
605 memset(&attr, 0, sizeof(attr)); in bpf_prog_get_fd_by_id()
606 attr.prog_id = id; in bpf_prog_get_fd_by_id()
608 return sys_bpf(BPF_PROG_GET_FD_BY_ID, &attr, sizeof(attr)); in bpf_prog_get_fd_by_id()
613 union bpf_attr attr; in bpf_map_get_fd_by_id() local
615 memset(&attr, 0, sizeof(attr)); in bpf_map_get_fd_by_id()
616 attr.map_id = id; in bpf_map_get_fd_by_id()
618 return sys_bpf(BPF_MAP_GET_FD_BY_ID, &attr, sizeof(attr)); in bpf_map_get_fd_by_id()
623 union bpf_attr attr; in bpf_btf_get_fd_by_id() local
625 memset(&attr, 0, sizeof(attr)); in bpf_btf_get_fd_by_id()
626 attr.btf_id = id; in bpf_btf_get_fd_by_id()
628 return sys_bpf(BPF_BTF_GET_FD_BY_ID, &attr, sizeof(attr)); in bpf_btf_get_fd_by_id()
633 union bpf_attr attr; in bpf_obj_get_info_by_fd() local
636 memset(&attr, 0, sizeof(attr)); in bpf_obj_get_info_by_fd()
637 attr.info.bpf_fd = prog_fd; in bpf_obj_get_info_by_fd()
638 attr.info.info_len = *info_len; in bpf_obj_get_info_by_fd()
639 attr.info.info = ptr_to_u64(info); in bpf_obj_get_info_by_fd()
641 err = sys_bpf(BPF_OBJ_GET_INFO_BY_FD, &attr, sizeof(attr)); in bpf_obj_get_info_by_fd()
643 *info_len = attr.info.info_len; in bpf_obj_get_info_by_fd()
650 union bpf_attr attr; in bpf_raw_tracepoint_open() local
652 memset(&attr, 0, sizeof(attr)); in bpf_raw_tracepoint_open()
653 attr.raw_tracepoint.name = ptr_to_u64(name); in bpf_raw_tracepoint_open()
654 attr.raw_tracepoint.prog_fd = prog_fd; in bpf_raw_tracepoint_open()
656 return sys_bpf(BPF_RAW_TRACEPOINT_OPEN, &attr, sizeof(attr)); in bpf_raw_tracepoint_open()
662 union bpf_attr attr = {}; in bpf_load_btf() local
665 attr.btf = ptr_to_u64(btf); in bpf_load_btf()
666 attr.btf_size = btf_size; in bpf_load_btf()
670 attr.btf_log_level = 1; in bpf_load_btf()
671 attr.btf_log_size = log_buf_size; in bpf_load_btf()
672 attr.btf_log_buf = ptr_to_u64(log_buf); in bpf_load_btf()
675 fd = sys_bpf(BPF_BTF_LOAD, &attr, sizeof(attr)); in bpf_load_btf()
688 union bpf_attr attr = {}; in bpf_task_fd_query() local
691 attr.task_fd_query.pid = pid; in bpf_task_fd_query()
692 attr.task_fd_query.fd = fd; in bpf_task_fd_query()
693 attr.task_fd_query.flags = flags; in bpf_task_fd_query()
694 attr.task_fd_query.buf = ptr_to_u64(buf); in bpf_task_fd_query()
695 attr.task_fd_query.buf_len = *buf_len; in bpf_task_fd_query()
697 err = sys_bpf(BPF_TASK_FD_QUERY, &attr, sizeof(attr)); in bpf_task_fd_query()
698 *buf_len = attr.task_fd_query.buf_len; in bpf_task_fd_query()
699 *prog_id = attr.task_fd_query.prog_id; in bpf_task_fd_query()
700 *fd_type = attr.task_fd_query.fd_type; in bpf_task_fd_query()
701 *probe_offset = attr.task_fd_query.probe_offset; in bpf_task_fd_query()
702 *probe_addr = attr.task_fd_query.probe_addr; in bpf_task_fd_query()