Lines Matching refs:sec_name

431 	char *sec_name;  member
775 zfree(&prog->sec_name); in bpf_program__exit()
806 const char *name, size_t sec_idx, const char *sec_name, in bpf_object__init_prog() argument
811 sec_name, name, sec_off, insn_data_sz); in bpf_object__init_prog()
832 if (sec_name[0] == '?') { in bpf_object__init_prog()
835 sec_name++; in bpf_object__init_prog()
845 prog->sec_name = strdup(sec_name); in bpf_object__init_prog()
846 if (!prog->sec_name) in bpf_object__init_prog()
860 pr_warn("sec '%s': failed to allocate memory for prog '%s'\n", sec_name, name); in bpf_object__init_prog()
867 const char *sec_name, int sec_idx) in bpf_object__add_programs() argument
895 sec_name, sec_off); in bpf_object__add_programs()
901 sec_name, sec_off); in bpf_object__add_programs()
906 pr_warn("sec '%s': program '%s' is static and not supported\n", sec_name, name); in bpf_object__add_programs()
911 sec_name, name, sec_off / BPF_INSN_SZ, sec_off, prog_sz / BPF_INSN_SZ, prog_sz); in bpf_object__add_programs()
921 sec_name, name); in bpf_object__add_programs()
928 err = bpf_object__init_prog(obj, prog, name, sec_idx, sec_name, in bpf_object__add_programs()
1295 map->name, mname, prog->name, prog->sec_name, prog->type, in bpf_map__init_kern_struct_ops()
1301 map->name, mname, prog->name, prog->sec_name, prog->type, in bpf_map__init_kern_struct_ops()
1355 static int init_struct_ops_maps(struct bpf_object *obj, const char *sec_name, in init_struct_ops_maps() argument
1371 datasec_id = btf__find_by_name_kind(btf, sec_name, in init_struct_ops_maps()
1375 sec_name); in init_struct_ops_maps()
1388 vsi->type, sec_name); in init_struct_ops_maps()
1417 if (sec_name[0] == '?') { in init_struct_ops_maps()
1420 sec_name++; in init_struct_ops_maps()
1427 map->def.map_flags = strcmp(sec_name, STRUCT_OPS_LINK_SEC) == 0 ? BPF_F_LINK : 0; in init_struct_ops_maps()
1443 var_name, sec_name); in init_struct_ops_maps()
1461 const char *sec_name; in bpf_object_init_struct_ops() local
1470 sec_name = elf_sec_name(obj, elf_sec_by_idx(obj, sec_idx)); in bpf_object_init_struct_ops()
1471 if (!sec_name) in bpf_object_init_struct_ops()
1474 err = init_struct_ops_maps(obj, sec_name, sec_idx, desc->data); in bpf_object_init_struct_ops()
1995 const char *sec_name; in bpf_object__init_global_data_maps() local
2010 sec_name = elf_sec_name(obj, elf_sec_by_idx(obj, sec_idx)); in bpf_object__init_global_data_maps()
2012 sec_name, sec_idx, in bpf_object__init_global_data_maps()
2018 sec_name = elf_sec_name(obj, elf_sec_by_idx(obj, sec_idx)); in bpf_object__init_global_data_maps()
2020 sec_name, sec_idx, in bpf_object__init_global_data_maps()
2025 sec_name = elf_sec_name(obj, elf_sec_by_idx(obj, sec_idx)); in bpf_object__init_global_data_maps()
2027 sec_name, sec_idx, in bpf_object__init_global_data_maps()
2968 const char *sec_name, int sec_idx, in init_arena_map_data() argument
2977 sec_name, mmap_sz, data_sz); in init_arena_map_data()
3284 const char *sec_name; in bpf_object__init_btf() local
3303 sec_name = btf__name_by_offset(obj->btf, sec->sec_name_off); in bpf_object__init_btf()
3304 if (str_is_empty(sec_name)) in bpf_object__init_btf()
3306 scn = elf_sec_by_name(obj, sec_name); in bpf_object__init_btf()
3334 const char *sec_name = btf__name_by_offset(btf, t->name_off); in btf_fixup_datasec() local
3339 if (!sec_name) { in btf_fixup_datasec()
3350 if (strcmp(sec_name, KCONFIG_SEC) == 0 || strcmp(sec_name, KSYMS_SEC) == 0) in btf_fixup_datasec()
3362 err = find_elf_sec_sz(obj, sec_name, &size); in btf_fixup_datasec()
3365 sec_name, size, errstr(err)); in btf_fixup_datasec()
3381 pr_debug("sec '%s': unexpected non-VAR type found\n", sec_name); in btf_fixup_datasec()
3392 sec_name, i); in btf_fixup_datasec()
3399 sec_name, var_name); in btf_fixup_datasec()
3679 const char *sec_name; in elf_sec_by_name() local
3682 sec_name = elf_sec_name(obj, scn); in elf_sec_by_name()
3683 if (!sec_name) in elf_sec_by_name()
3686 if (strcmp(sec_name, name) != 0) in elf_sec_by_name()
4222 const char *ext_name, *sec_name; in bpf_object__collect_externs() local
4288 sec_name = btf__name_by_offset(obj->btf, sec->name_off); in bpf_object__collect_externs()
4290 if (strcmp(sec_name, KCONFIG_SEC) == 0) { in bpf_object__collect_externs()
4316 } else if (strcmp(sec_name, KSYMS_SEC) == 0) { in bpf_object__collect_externs()
4322 pr_warn("unrecognized extern section '%s'\n", sec_name); in bpf_object__collect_externs()
4691 const char *relo_sec_name, *sec_name; in bpf_object__collect_prog_relos() local
4712 sec_name = elf_sec_name(obj, scn); in bpf_object__collect_prog_relos()
4713 if (!relo_sec_name || !sec_name) in bpf_object__collect_prog_relos()
4717 relo_sec_name, sec_idx, sec_name); in bpf_object__collect_prog_relos()
4766 relo_sec_name, i, sec_name, insn_idx); in bpf_object__collect_prog_relos()
5926 const char *sec_name; in bpf_object__relocate_core() local
5953 sec_name = btf__name_by_offset(obj->btf, sec->sec_name_off); in bpf_object__relocate_core()
5954 if (str_is_empty(sec_name)) { in bpf_object__relocate_core()
5959 pr_debug("sec '%s': found %d CO-RE relocations\n", sec_name, sec->num_info); in bpf_object__relocate_core()
5976 sec_name, i, insn_idx); in bpf_object__relocate_core()
7431 attach_name = strchr(prog->sec_name, '/'); in libbpf_prepare_prog_load()
7491 prog->name, prog->sec_name); in bpf_object_load_prog()
7944 static const struct bpf_sec_def *find_sec_def(const char *sec_name);
7952 prog->sec_def = find_sec_def(prog->sec_name); in bpf_object_init_progs()
7956 prog->name, prog->sec_name); in bpf_object_init_progs()
9287 return prog->sec_name; in bpf_program__section_name()
9675 static bool sec_def_matches(const struct bpf_sec_def *sec_def, const char *sec_name) in sec_def_matches() argument
9681 if (str_has_pfx(sec_name, sec_def->sec)) in sec_def_matches()
9692 if (strncmp(sec_name, sec_def->sec, len) != 0) in sec_def_matches()
9695 if (sec_name[len] == '\0' || sec_name[len] == '/') in sec_def_matches()
9700 return strcmp(sec_name, sec_def->sec) == 0; in sec_def_matches()
9703 static const struct bpf_sec_def *find_sec_def(const char *sec_name) in find_sec_def() argument
9711 if (sec_def_matches(sec_def, sec_name)) in find_sec_def()
9718 if (sec_def_matches(sec_def, sec_name)) in find_sec_def()
11726 if (strcmp(prog->sec_name, "kprobe") == 0 || strcmp(prog->sec_name, "kretprobe") == 0) in attach_kprobe()
11729 opts.retprobe = str_has_pfx(prog->sec_name, "kretprobe/"); in attach_kprobe()
11731 func_name = prog->sec_name + sizeof("kretprobe/") - 1; in attach_kprobe()
11733 func_name = prog->sec_name + sizeof("kprobe/") - 1; in attach_kprobe()
11760 if (strcmp(prog->sec_name, "ksyscall") == 0 || strcmp(prog->sec_name, "kretsyscall") == 0) in attach_ksyscall()
11763 opts.retprobe = str_has_pfx(prog->sec_name, "kretsyscall/"); in attach_ksyscall()
11765 syscall_name = prog->sec_name + sizeof("kretsyscall/") - 1; in attach_ksyscall()
11767 syscall_name = prog->sec_name + sizeof("ksyscall/") - 1; in attach_ksyscall()
11783 if (strcmp(prog->sec_name, "kprobe.multi") == 0 || in attach_kprobe_multi()
11784 strcmp(prog->sec_name, "kretprobe.multi") == 0) in attach_kprobe_multi()
11787 opts.retprobe = str_has_pfx(prog->sec_name, "kretprobe.multi/"); in attach_kprobe_multi()
11789 spec = prog->sec_name + sizeof("kretprobe.multi/") - 1; in attach_kprobe_multi()
11791 spec = prog->sec_name + sizeof("kprobe.multi/") - 1; in attach_kprobe_multi()
11815 if (strcmp(prog->sec_name, "kprobe.session") == 0) in attach_kprobe_session()
11818 spec = prog->sec_name + sizeof("kprobe.session/") - 1; in attach_kprobe_session()
11838 n = sscanf(prog->sec_name, "%m[^/]/%m[^:]:%m[^\n]", in attach_uprobe_multi()
11854 prog->sec_name); in attach_uprobe_multi()
12370 n = sscanf(prog->sec_name, "%m[^/]/%m[^:]:%m[^\n]", in attach_uprobe()
12379 prog->name, prog->sec_name); in attach_uprobe()
12406 prog->sec_name); in attach_uprobe()
12482 const char *sec_name; in attach_usdt() local
12485 sec_name = bpf_program__section_name(prog); in attach_usdt()
12486 if (strcmp(sec_name, "usdt") == 0) { in attach_usdt()
12492 n = sscanf(sec_name, "usdt/%m[^:]:%m[^:]:%m[^:]", &path, &provider, &name); in attach_usdt()
12495 sec_name); in attach_usdt()
12600 char *sec_name, *tp_cat, *tp_name; in attach_tp() local
12605 if (strcmp(prog->sec_name, "tp") == 0 || strcmp(prog->sec_name, "tracepoint") == 0) in attach_tp()
12608 sec_name = strdup(prog->sec_name); in attach_tp()
12609 if (!sec_name) in attach_tp()
12613 if (str_has_pfx(prog->sec_name, "tp/")) in attach_tp()
12614 tp_cat = sec_name + sizeof("tp/") - 1; in attach_tp()
12616 tp_cat = sec_name + sizeof("tracepoint/") - 1; in attach_tp()
12619 free(sec_name); in attach_tp()
12626 free(sec_name); in attach_tp()
12689 if (!str_has_pfx(prog->sec_name, prefixes[i])) in attach_raw_tp()
12694 if (prog->sec_name[pfx_len] == '\0') in attach_raw_tp()
12697 if (prog->sec_name[pfx_len] != '/') in attach_raw_tp()
12700 tp_name = prog->sec_name + pfx_len + 1; in attach_raw_tp()
12706 prog->name, prog->sec_name); in attach_raw_tp()