• Home
  • Raw
  • Download

Lines Matching refs:info

2570 					   struct bpf_link_info *info)  in bpf_tracing_link_fill_link_info()  argument
2575 info->tracing.attach_type = tr_link->attach_type; in bpf_tracing_link_fill_link_info()
2786 struct bpf_link_info *info) in bpf_raw_tp_link_fill_link_info() argument
2790 char __user *ubuf = u64_to_user_ptr(info->raw_tracepoint.tp_name); in bpf_raw_tp_link_fill_link_info()
2792 u32 ulen = info->raw_tracepoint.tp_name_len; in bpf_raw_tp_link_fill_link_info()
2798 info->raw_tracepoint.tp_name_len = tp_len + 1; in bpf_raw_tp_link_fill_link_info()
3388 static int set_info_rec_size(struct bpf_prog_info *info) in set_info_rec_size() argument
3400 if ((info->nr_func_info || info->func_info_rec_size) && in set_info_rec_size()
3401 info->func_info_rec_size != sizeof(struct bpf_func_info)) in set_info_rec_size()
3404 if ((info->nr_line_info || info->line_info_rec_size) && in set_info_rec_size()
3405 info->line_info_rec_size != sizeof(struct bpf_line_info)) in set_info_rec_size()
3408 if ((info->nr_jited_line_info || info->jited_line_info_rec_size) && in set_info_rec_size()
3409 info->jited_line_info_rec_size != sizeof(__u64)) in set_info_rec_size()
3412 info->func_info_rec_size = sizeof(struct bpf_func_info); in set_info_rec_size()
3413 info->line_info_rec_size = sizeof(struct bpf_line_info); in set_info_rec_size()
3414 info->jited_line_info_rec_size = sizeof(__u64); in set_info_rec_size()
3424 struct bpf_prog_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_prog_get_info_by_fd()
3425 struct bpf_prog_info info; in bpf_prog_get_info_by_fd() local
3426 u32 info_len = attr->info.info_len; in bpf_prog_get_info_by_fd()
3432 err = bpf_check_uarg_tail_zero(uinfo, sizeof(info), info_len); in bpf_prog_get_info_by_fd()
3435 info_len = min_t(u32, sizeof(info), info_len); in bpf_prog_get_info_by_fd()
3437 memset(&info, 0, sizeof(info)); in bpf_prog_get_info_by_fd()
3438 if (copy_from_user(&info, uinfo, info_len)) in bpf_prog_get_info_by_fd()
3441 info.type = prog->type; in bpf_prog_get_info_by_fd()
3442 info.id = prog->aux->id; in bpf_prog_get_info_by_fd()
3443 info.load_time = prog->aux->load_time; in bpf_prog_get_info_by_fd()
3444 info.created_by_uid = from_kuid_munged(current_user_ns(), in bpf_prog_get_info_by_fd()
3446 info.gpl_compatible = prog->gpl_compatible; in bpf_prog_get_info_by_fd()
3448 memcpy(info.tag, prog->tag, sizeof(prog->tag)); in bpf_prog_get_info_by_fd()
3449 memcpy(info.name, prog->aux->name, sizeof(prog->aux->name)); in bpf_prog_get_info_by_fd()
3452 ulen = info.nr_map_ids; in bpf_prog_get_info_by_fd()
3453 info.nr_map_ids = prog->aux->used_map_cnt; in bpf_prog_get_info_by_fd()
3454 ulen = min_t(u32, info.nr_map_ids, ulen); in bpf_prog_get_info_by_fd()
3456 u32 __user *user_map_ids = u64_to_user_ptr(info.map_ids); in bpf_prog_get_info_by_fd()
3468 err = set_info_rec_size(&info); in bpf_prog_get_info_by_fd()
3473 info.run_time_ns = stats.nsecs; in bpf_prog_get_info_by_fd()
3474 info.run_cnt = stats.cnt; in bpf_prog_get_info_by_fd()
3477 info.jited_prog_len = 0; in bpf_prog_get_info_by_fd()
3478 info.xlated_prog_len = 0; in bpf_prog_get_info_by_fd()
3479 info.nr_jited_ksyms = 0; in bpf_prog_get_info_by_fd()
3480 info.nr_jited_func_lens = 0; in bpf_prog_get_info_by_fd()
3481 info.nr_func_info = 0; in bpf_prog_get_info_by_fd()
3482 info.nr_line_info = 0; in bpf_prog_get_info_by_fd()
3483 info.nr_jited_line_info = 0; in bpf_prog_get_info_by_fd()
3487 ulen = info.xlated_prog_len; in bpf_prog_get_info_by_fd()
3488 info.xlated_prog_len = bpf_prog_insn_size(prog); in bpf_prog_get_info_by_fd()
3489 if (info.xlated_prog_len && ulen) { in bpf_prog_get_info_by_fd()
3494 info.xlated_prog_insns = 0; in bpf_prog_get_info_by_fd()
3500 uinsns = u64_to_user_ptr(info.xlated_prog_insns); in bpf_prog_get_info_by_fd()
3501 ulen = min_t(u32, info.xlated_prog_len, ulen); in bpf_prog_get_info_by_fd()
3509 err = bpf_prog_offload_info_fill(&info, prog); in bpf_prog_get_info_by_fd()
3519 ulen = info.jited_prog_len; in bpf_prog_get_info_by_fd()
3523 info.jited_prog_len = 0; in bpf_prog_get_info_by_fd()
3525 info.jited_prog_len += prog->aux->func[i]->jited_len; in bpf_prog_get_info_by_fd()
3527 info.jited_prog_len = prog->jited_len; in bpf_prog_get_info_by_fd()
3530 if (info.jited_prog_len && ulen) { in bpf_prog_get_info_by_fd()
3532 uinsns = u64_to_user_ptr(info.jited_prog_insns); in bpf_prog_get_info_by_fd()
3533 ulen = min_t(u32, info.jited_prog_len, ulen); in bpf_prog_get_info_by_fd()
3559 info.jited_prog_insns = 0; in bpf_prog_get_info_by_fd()
3563 ulen = info.nr_jited_ksyms; in bpf_prog_get_info_by_fd()
3564 info.nr_jited_ksyms = prog->aux->func_cnt ? : 1; in bpf_prog_get_info_by_fd()
3574 ulen = min_t(u32, info.nr_jited_ksyms, ulen); in bpf_prog_get_info_by_fd()
3575 user_ksyms = u64_to_user_ptr(info.jited_ksyms); in bpf_prog_get_info_by_fd()
3590 info.jited_ksyms = 0; in bpf_prog_get_info_by_fd()
3594 ulen = info.nr_jited_func_lens; in bpf_prog_get_info_by_fd()
3595 info.nr_jited_func_lens = prog->aux->func_cnt ? : 1; in bpf_prog_get_info_by_fd()
3602 ulen = min_t(u32, info.nr_jited_func_lens, ulen); in bpf_prog_get_info_by_fd()
3603 user_lens = u64_to_user_ptr(info.jited_func_lens); in bpf_prog_get_info_by_fd()
3617 info.jited_func_lens = 0; in bpf_prog_get_info_by_fd()
3622 info.btf_id = btf_id(prog->aux->btf); in bpf_prog_get_info_by_fd()
3624 ulen = info.nr_func_info; in bpf_prog_get_info_by_fd()
3625 info.nr_func_info = prog->aux->func_info_cnt; in bpf_prog_get_info_by_fd()
3626 if (info.nr_func_info && ulen) { in bpf_prog_get_info_by_fd()
3629 user_finfo = u64_to_user_ptr(info.func_info); in bpf_prog_get_info_by_fd()
3630 ulen = min_t(u32, info.nr_func_info, ulen); in bpf_prog_get_info_by_fd()
3632 info.func_info_rec_size * ulen)) in bpf_prog_get_info_by_fd()
3636 ulen = info.nr_line_info; in bpf_prog_get_info_by_fd()
3637 info.nr_line_info = prog->aux->nr_linfo; in bpf_prog_get_info_by_fd()
3638 if (info.nr_line_info && ulen) { in bpf_prog_get_info_by_fd()
3641 user_linfo = u64_to_user_ptr(info.line_info); in bpf_prog_get_info_by_fd()
3642 ulen = min_t(u32, info.nr_line_info, ulen); in bpf_prog_get_info_by_fd()
3644 info.line_info_rec_size * ulen)) in bpf_prog_get_info_by_fd()
3648 ulen = info.nr_jited_line_info; in bpf_prog_get_info_by_fd()
3650 info.nr_jited_line_info = prog->aux->nr_linfo; in bpf_prog_get_info_by_fd()
3652 info.nr_jited_line_info = 0; in bpf_prog_get_info_by_fd()
3653 if (info.nr_jited_line_info && ulen) { in bpf_prog_get_info_by_fd()
3658 user_linfo = u64_to_user_ptr(info.jited_line_info); in bpf_prog_get_info_by_fd()
3659 ulen = min_t(u32, info.nr_jited_line_info, ulen); in bpf_prog_get_info_by_fd()
3666 info.jited_line_info = 0; in bpf_prog_get_info_by_fd()
3670 ulen = info.nr_prog_tags; in bpf_prog_get_info_by_fd()
3671 info.nr_prog_tags = prog->aux->func_cnt ? : 1; in bpf_prog_get_info_by_fd()
3676 user_prog_tags = u64_to_user_ptr(info.prog_tags); in bpf_prog_get_info_by_fd()
3677 ulen = min_t(u32, info.nr_prog_tags, ulen); in bpf_prog_get_info_by_fd()
3693 if (copy_to_user(uinfo, &info, info_len) || in bpf_prog_get_info_by_fd()
3694 put_user(info_len, &uattr->info.info_len)) in bpf_prog_get_info_by_fd()
3705 struct bpf_map_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_map_get_info_by_fd()
3706 struct bpf_map_info info; in bpf_map_get_info_by_fd() local
3707 u32 info_len = attr->info.info_len; in bpf_map_get_info_by_fd()
3710 err = bpf_check_uarg_tail_zero(uinfo, sizeof(info), info_len); in bpf_map_get_info_by_fd()
3713 info_len = min_t(u32, sizeof(info), info_len); in bpf_map_get_info_by_fd()
3715 memset(&info, 0, sizeof(info)); in bpf_map_get_info_by_fd()
3716 info.type = map->map_type; in bpf_map_get_info_by_fd()
3717 info.id = map->id; in bpf_map_get_info_by_fd()
3718 info.key_size = map->key_size; in bpf_map_get_info_by_fd()
3719 info.value_size = map->value_size; in bpf_map_get_info_by_fd()
3720 info.max_entries = map->max_entries; in bpf_map_get_info_by_fd()
3721 info.map_flags = map->map_flags; in bpf_map_get_info_by_fd()
3722 memcpy(info.name, map->name, sizeof(map->name)); in bpf_map_get_info_by_fd()
3725 info.btf_id = btf_id(map->btf); in bpf_map_get_info_by_fd()
3726 info.btf_key_type_id = map->btf_key_type_id; in bpf_map_get_info_by_fd()
3727 info.btf_value_type_id = map->btf_value_type_id; in bpf_map_get_info_by_fd()
3729 info.btf_vmlinux_value_type_id = map->btf_vmlinux_value_type_id; in bpf_map_get_info_by_fd()
3732 err = bpf_map_offload_info_fill(&info, map); in bpf_map_get_info_by_fd()
3737 if (copy_to_user(uinfo, &info, info_len) || in bpf_map_get_info_by_fd()
3738 put_user(info_len, &uattr->info.info_len)) in bpf_map_get_info_by_fd()
3749 struct bpf_btf_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_btf_get_info_by_fd()
3750 u32 info_len = attr->info.info_len; in bpf_btf_get_info_by_fd()
3765 struct bpf_link_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_link_get_info_by_fd()
3766 struct bpf_link_info info; in bpf_link_get_info_by_fd() local
3767 u32 info_len = attr->info.info_len; in bpf_link_get_info_by_fd()
3770 err = bpf_check_uarg_tail_zero(uinfo, sizeof(info), info_len); in bpf_link_get_info_by_fd()
3773 info_len = min_t(u32, sizeof(info), info_len); in bpf_link_get_info_by_fd()
3775 memset(&info, 0, sizeof(info)); in bpf_link_get_info_by_fd()
3776 if (copy_from_user(&info, uinfo, info_len)) in bpf_link_get_info_by_fd()
3779 info.type = link->type; in bpf_link_get_info_by_fd()
3780 info.id = link->id; in bpf_link_get_info_by_fd()
3781 info.prog_id = link->prog->aux->id; in bpf_link_get_info_by_fd()
3784 err = link->ops->fill_link_info(link, &info); in bpf_link_get_info_by_fd()
3789 if (copy_to_user(uinfo, &info, info_len) || in bpf_link_get_info_by_fd()
3790 put_user(info_len, &uattr->info.info_len)) in bpf_link_get_info_by_fd()
3797 #define BPF_OBJ_GET_INFO_BY_FD_LAST_FIELD info.info
3802 int ufd = attr->info.bpf_fd; in bpf_obj_get_info_by_fd()