Lines Matching refs:tinfo
18 struct bpf_iter_target_info *tinfo; member
22 struct bpf_iter_target_info *tinfo; member
229 return link->tinfo->reg_info->seq_info; in __get_seq_info()
274 struct bpf_iter_target_info *tinfo; in bpf_iter_reg_target() local
276 tinfo = kmalloc(sizeof(*tinfo), GFP_KERNEL); in bpf_iter_reg_target()
277 if (!tinfo) in bpf_iter_reg_target()
280 tinfo->reg_info = reg_info; in bpf_iter_reg_target()
281 INIT_LIST_HEAD(&tinfo->list); in bpf_iter_reg_target()
284 list_add(&tinfo->list, &targets); in bpf_iter_reg_target()
292 struct bpf_iter_target_info *tinfo; in bpf_iter_unreg_target() local
296 list_for_each_entry(tinfo, &targets, list) { in bpf_iter_unreg_target()
297 if (reg_info == tinfo->reg_info) { in bpf_iter_unreg_target()
298 list_del(&tinfo->list); in bpf_iter_unreg_target()
299 kfree(tinfo); in bpf_iter_unreg_target()
309 static void cache_btf_id(struct bpf_iter_target_info *tinfo, in cache_btf_id() argument
312 tinfo->btf_id = prog->aux->attach_btf_id; in cache_btf_id()
320 struct bpf_iter_target_info *tinfo; in bpf_iter_prog_supported() local
328 list_for_each_entry(tinfo, &targets, list) { in bpf_iter_prog_supported()
329 if (tinfo->btf_id && tinfo->btf_id == prog_btf_id) { in bpf_iter_prog_supported()
333 if (!strcmp(attach_fname + prefix_len, tinfo->reg_info->target)) { in bpf_iter_prog_supported()
334 cache_btf_id(tinfo, prog); in bpf_iter_prog_supported()
342 prog->aux->ctx_arg_info_size = tinfo->reg_info->ctx_arg_info_size; in bpf_iter_prog_supported()
343 prog->aux->ctx_arg_info = tinfo->reg_info->ctx_arg_info; in bpf_iter_prog_supported()
354 if (iter_link->tinfo->reg_info->detach_target) in bpf_iter_link_release()
355 iter_link->tinfo->reg_info->detach_target(&iter_link->aux); in bpf_iter_link_release()
402 iter_link->tinfo->reg_info->target); in bpf_iter_link_show_fdinfo()
404 show_fdinfo = iter_link->tinfo->reg_info->show_fdinfo; in bpf_iter_link_show_fdinfo()
423 target_name = iter_link->tinfo->reg_info->target; in bpf_iter_link_fill_link_info()
442 fill_link_info = iter_link->tinfo->reg_info->fill_link_info; in bpf_iter_link_fill_link_info()
466 struct bpf_iter_target_info *tinfo; in bpf_iter_link_attach() local
495 list_for_each_entry(tinfo, &targets, list) { in bpf_iter_link_attach()
496 if (tinfo->btf_id == prog_btf_id) { in bpf_iter_link_attach()
510 link->tinfo = tinfo; in bpf_iter_link_attach()
518 if (tinfo->reg_info->attach_target) { in bpf_iter_link_attach()
519 err = tinfo->reg_info->attach_target(prog, &linfo, &link->aux); in bpf_iter_link_attach()
530 struct bpf_iter_target_info *tinfo, in init_seq_meta() argument
534 priv_data->tinfo = tinfo; in init_seq_meta()
546 struct bpf_iter_target_info *tinfo; in prepare_seq_file() local
557 tinfo = link->tinfo; in prepare_seq_file()
573 init_seq_meta(priv_data, tinfo, seq_info, prog); in prepare_seq_file()