Lines Matching refs:info
2665 struct bpf_link_info *info) in bpf_tracing_link_fill_link_info() argument
2670 info->tracing.attach_type = tr_link->attach_type; in bpf_tracing_link_fill_link_info()
2672 &info->tracing.target_obj_id, in bpf_tracing_link_fill_link_info()
2673 &info->tracing.target_btf_id); in bpf_tracing_link_fill_link_info()
2904 struct bpf_link_info *info) in bpf_raw_tp_link_fill_link_info() argument
2908 char __user *ubuf = u64_to_user_ptr(info->raw_tracepoint.tp_name); in bpf_raw_tp_link_fill_link_info()
2910 u32 ulen = info->raw_tracepoint.tp_name_len; in bpf_raw_tp_link_fill_link_info()
2916 info->raw_tracepoint.tp_name_len = tp_len + 1; in bpf_raw_tp_link_fill_link_info()
3580 static int set_info_rec_size(struct bpf_prog_info *info) in set_info_rec_size() argument
3592 if ((info->nr_func_info || info->func_info_rec_size) && in set_info_rec_size()
3593 info->func_info_rec_size != sizeof(struct bpf_func_info)) in set_info_rec_size()
3596 if ((info->nr_line_info || info->line_info_rec_size) && in set_info_rec_size()
3597 info->line_info_rec_size != sizeof(struct bpf_line_info)) in set_info_rec_size()
3600 if ((info->nr_jited_line_info || info->jited_line_info_rec_size) && in set_info_rec_size()
3601 info->jited_line_info_rec_size != sizeof(__u64)) in set_info_rec_size()
3604 info->func_info_rec_size = sizeof(struct bpf_func_info); in set_info_rec_size()
3605 info->line_info_rec_size = sizeof(struct bpf_line_info); in set_info_rec_size()
3606 info->jited_line_info_rec_size = sizeof(__u64); in set_info_rec_size()
3616 struct bpf_prog_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_prog_get_info_by_fd()
3617 struct bpf_prog_info info; in bpf_prog_get_info_by_fd() local
3618 u32 info_len = attr->info.info_len; in bpf_prog_get_info_by_fd()
3624 err = bpf_check_uarg_tail_zero(USER_BPFPTR(uinfo), sizeof(info), info_len); in bpf_prog_get_info_by_fd()
3627 info_len = min_t(u32, sizeof(info), info_len); in bpf_prog_get_info_by_fd()
3629 memset(&info, 0, sizeof(info)); in bpf_prog_get_info_by_fd()
3630 if (copy_from_user(&info, uinfo, info_len)) in bpf_prog_get_info_by_fd()
3633 info.type = prog->type; in bpf_prog_get_info_by_fd()
3634 info.id = prog->aux->id; in bpf_prog_get_info_by_fd()
3635 info.load_time = prog->aux->load_time; in bpf_prog_get_info_by_fd()
3636 info.created_by_uid = from_kuid_munged(current_user_ns(), in bpf_prog_get_info_by_fd()
3638 info.gpl_compatible = prog->gpl_compatible; in bpf_prog_get_info_by_fd()
3640 memcpy(info.tag, prog->tag, sizeof(prog->tag)); in bpf_prog_get_info_by_fd()
3641 memcpy(info.name, prog->aux->name, sizeof(prog->aux->name)); in bpf_prog_get_info_by_fd()
3644 ulen = info.nr_map_ids; in bpf_prog_get_info_by_fd()
3645 info.nr_map_ids = prog->aux->used_map_cnt; in bpf_prog_get_info_by_fd()
3646 ulen = min_t(u32, info.nr_map_ids, ulen); in bpf_prog_get_info_by_fd()
3648 u32 __user *user_map_ids = u64_to_user_ptr(info.map_ids); in bpf_prog_get_info_by_fd()
3660 err = set_info_rec_size(&info); in bpf_prog_get_info_by_fd()
3665 info.run_time_ns = stats.nsecs; in bpf_prog_get_info_by_fd()
3666 info.run_cnt = stats.cnt; in bpf_prog_get_info_by_fd()
3667 info.recursion_misses = stats.misses; in bpf_prog_get_info_by_fd()
3670 info.jited_prog_len = 0; in bpf_prog_get_info_by_fd()
3671 info.xlated_prog_len = 0; in bpf_prog_get_info_by_fd()
3672 info.nr_jited_ksyms = 0; in bpf_prog_get_info_by_fd()
3673 info.nr_jited_func_lens = 0; in bpf_prog_get_info_by_fd()
3674 info.nr_func_info = 0; in bpf_prog_get_info_by_fd()
3675 info.nr_line_info = 0; in bpf_prog_get_info_by_fd()
3676 info.nr_jited_line_info = 0; in bpf_prog_get_info_by_fd()
3680 ulen = info.xlated_prog_len; in bpf_prog_get_info_by_fd()
3681 info.xlated_prog_len = bpf_prog_insn_size(prog); in bpf_prog_get_info_by_fd()
3682 if (info.xlated_prog_len && ulen) { in bpf_prog_get_info_by_fd()
3687 info.xlated_prog_insns = 0; in bpf_prog_get_info_by_fd()
3693 uinsns = u64_to_user_ptr(info.xlated_prog_insns); in bpf_prog_get_info_by_fd()
3694 ulen = min_t(u32, info.xlated_prog_len, ulen); in bpf_prog_get_info_by_fd()
3702 err = bpf_prog_offload_info_fill(&info, prog); in bpf_prog_get_info_by_fd()
3712 ulen = info.jited_prog_len; in bpf_prog_get_info_by_fd()
3716 info.jited_prog_len = 0; in bpf_prog_get_info_by_fd()
3718 info.jited_prog_len += prog->aux->func[i]->jited_len; in bpf_prog_get_info_by_fd()
3720 info.jited_prog_len = prog->jited_len; in bpf_prog_get_info_by_fd()
3723 if (info.jited_prog_len && ulen) { in bpf_prog_get_info_by_fd()
3725 uinsns = u64_to_user_ptr(info.jited_prog_insns); in bpf_prog_get_info_by_fd()
3726 ulen = min_t(u32, info.jited_prog_len, ulen); in bpf_prog_get_info_by_fd()
3752 info.jited_prog_insns = 0; in bpf_prog_get_info_by_fd()
3756 ulen = info.nr_jited_ksyms; in bpf_prog_get_info_by_fd()
3757 info.nr_jited_ksyms = prog->aux->func_cnt ? : 1; in bpf_prog_get_info_by_fd()
3767 ulen = min_t(u32, info.nr_jited_ksyms, ulen); in bpf_prog_get_info_by_fd()
3768 user_ksyms = u64_to_user_ptr(info.jited_ksyms); in bpf_prog_get_info_by_fd()
3783 info.jited_ksyms = 0; in bpf_prog_get_info_by_fd()
3787 ulen = info.nr_jited_func_lens; in bpf_prog_get_info_by_fd()
3788 info.nr_jited_func_lens = prog->aux->func_cnt ? : 1; in bpf_prog_get_info_by_fd()
3795 ulen = min_t(u32, info.nr_jited_func_lens, ulen); in bpf_prog_get_info_by_fd()
3796 user_lens = u64_to_user_ptr(info.jited_func_lens); in bpf_prog_get_info_by_fd()
3810 info.jited_func_lens = 0; in bpf_prog_get_info_by_fd()
3815 info.btf_id = btf_obj_id(prog->aux->btf); in bpf_prog_get_info_by_fd()
3817 ulen = info.nr_func_info; in bpf_prog_get_info_by_fd()
3818 info.nr_func_info = prog->aux->func_info_cnt; in bpf_prog_get_info_by_fd()
3819 if (info.nr_func_info && ulen) { in bpf_prog_get_info_by_fd()
3822 user_finfo = u64_to_user_ptr(info.func_info); in bpf_prog_get_info_by_fd()
3823 ulen = min_t(u32, info.nr_func_info, ulen); in bpf_prog_get_info_by_fd()
3825 info.func_info_rec_size * ulen)) in bpf_prog_get_info_by_fd()
3829 ulen = info.nr_line_info; in bpf_prog_get_info_by_fd()
3830 info.nr_line_info = prog->aux->nr_linfo; in bpf_prog_get_info_by_fd()
3831 if (info.nr_line_info && ulen) { in bpf_prog_get_info_by_fd()
3834 user_linfo = u64_to_user_ptr(info.line_info); in bpf_prog_get_info_by_fd()
3835 ulen = min_t(u32, info.nr_line_info, ulen); in bpf_prog_get_info_by_fd()
3837 info.line_info_rec_size * ulen)) in bpf_prog_get_info_by_fd()
3841 ulen = info.nr_jited_line_info; in bpf_prog_get_info_by_fd()
3843 info.nr_jited_line_info = prog->aux->nr_linfo; in bpf_prog_get_info_by_fd()
3845 info.nr_jited_line_info = 0; in bpf_prog_get_info_by_fd()
3846 if (info.nr_jited_line_info && ulen) { in bpf_prog_get_info_by_fd()
3851 user_linfo = u64_to_user_ptr(info.jited_line_info); in bpf_prog_get_info_by_fd()
3852 ulen = min_t(u32, info.nr_jited_line_info, ulen); in bpf_prog_get_info_by_fd()
3859 info.jited_line_info = 0; in bpf_prog_get_info_by_fd()
3863 ulen = info.nr_prog_tags; in bpf_prog_get_info_by_fd()
3864 info.nr_prog_tags = prog->aux->func_cnt ? : 1; in bpf_prog_get_info_by_fd()
3869 user_prog_tags = u64_to_user_ptr(info.prog_tags); in bpf_prog_get_info_by_fd()
3870 ulen = min_t(u32, info.nr_prog_tags, ulen); in bpf_prog_get_info_by_fd()
3886 if (copy_to_user(uinfo, &info, info_len) || in bpf_prog_get_info_by_fd()
3887 put_user(info_len, &uattr->info.info_len)) in bpf_prog_get_info_by_fd()
3898 struct bpf_map_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_map_get_info_by_fd()
3899 struct bpf_map_info info; in bpf_map_get_info_by_fd() local
3900 u32 info_len = attr->info.info_len; in bpf_map_get_info_by_fd()
3903 err = bpf_check_uarg_tail_zero(USER_BPFPTR(uinfo), sizeof(info), info_len); in bpf_map_get_info_by_fd()
3906 info_len = min_t(u32, sizeof(info), info_len); in bpf_map_get_info_by_fd()
3908 memset(&info, 0, sizeof(info)); in bpf_map_get_info_by_fd()
3909 info.type = map->map_type; in bpf_map_get_info_by_fd()
3910 info.id = map->id; in bpf_map_get_info_by_fd()
3911 info.key_size = map->key_size; in bpf_map_get_info_by_fd()
3912 info.value_size = map->value_size; in bpf_map_get_info_by_fd()
3913 info.max_entries = map->max_entries; in bpf_map_get_info_by_fd()
3914 info.map_flags = map->map_flags; in bpf_map_get_info_by_fd()
3915 memcpy(info.name, map->name, sizeof(map->name)); in bpf_map_get_info_by_fd()
3918 info.btf_id = btf_obj_id(map->btf); in bpf_map_get_info_by_fd()
3919 info.btf_key_type_id = map->btf_key_type_id; in bpf_map_get_info_by_fd()
3920 info.btf_value_type_id = map->btf_value_type_id; in bpf_map_get_info_by_fd()
3922 info.btf_vmlinux_value_type_id = map->btf_vmlinux_value_type_id; in bpf_map_get_info_by_fd()
3925 err = bpf_map_offload_info_fill(&info, map); in bpf_map_get_info_by_fd()
3930 if (copy_to_user(uinfo, &info, info_len) || in bpf_map_get_info_by_fd()
3931 put_user(info_len, &uattr->info.info_len)) in bpf_map_get_info_by_fd()
3942 struct bpf_btf_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_btf_get_info_by_fd()
3943 u32 info_len = attr->info.info_len; in bpf_btf_get_info_by_fd()
3958 struct bpf_link_info __user *uinfo = u64_to_user_ptr(attr->info.info); in bpf_link_get_info_by_fd()
3959 struct bpf_link_info info; in bpf_link_get_info_by_fd() local
3960 u32 info_len = attr->info.info_len; in bpf_link_get_info_by_fd()
3963 err = bpf_check_uarg_tail_zero(USER_BPFPTR(uinfo), sizeof(info), info_len); in bpf_link_get_info_by_fd()
3966 info_len = min_t(u32, sizeof(info), info_len); in bpf_link_get_info_by_fd()
3968 memset(&info, 0, sizeof(info)); in bpf_link_get_info_by_fd()
3969 if (copy_from_user(&info, uinfo, info_len)) in bpf_link_get_info_by_fd()
3972 info.type = link->type; in bpf_link_get_info_by_fd()
3973 info.id = link->id; in bpf_link_get_info_by_fd()
3974 info.prog_id = link->prog->aux->id; in bpf_link_get_info_by_fd()
3977 err = link->ops->fill_link_info(link, &info); in bpf_link_get_info_by_fd()
3982 if (copy_to_user(uinfo, &info, info_len) || in bpf_link_get_info_by_fd()
3983 put_user(info_len, &uattr->info.info_len)) in bpf_link_get_info_by_fd()
3990 #define BPF_OBJ_GET_INFO_BY_FD_LAST_FIELD info.info
3995 int ufd = attr->info.bpf_fd; in bpf_obj_get_info_by_fd()
4743 struct bpf_insn_access_aux *info) in syscall_prog_is_valid_access() argument