Lines Matching refs:bpf_object
74 static struct bpf_map *bpf_object__add_map(struct bpf_object *obj);
75 static bool prog_is_subprog(const struct bpf_object *obj, const struct bpf_program *prog);
472 struct bpf_object *obj;
543 struct bpf_object *obj;
672 struct bpf_object { struct
738 static const char *elf_sym_str(const struct bpf_object *obj, size_t off); argument
739 static const char *elf_sec_str(const struct bpf_object *obj, size_t off);
740 static Elf_Scn *elf_sec_by_idx(const struct bpf_object *obj, size_t idx);
741 static Elf_Scn *elf_sec_by_name(const struct bpf_object *obj, const char *name);
742 static Elf64_Shdr *elf_sec_hdr(const struct bpf_object *obj, Elf_Scn *scn);
743 static const char *elf_sec_name(const struct bpf_object *obj, Elf_Scn *scn);
744 static Elf_Data *elf_sec_data(const struct bpf_object *obj, Elf_Scn *scn);
745 static Elf64_Sym *elf_sym_by_idx(const struct bpf_object *obj, size_t idx);
796 bpf_object__init_prog(struct bpf_object *obj, struct bpf_program *prog, in bpf_object__init_prog()
857 bpf_object__add_programs(struct bpf_object *obj, Elf_Data *sec_data, in bpf_object__add_programs()
972 static int find_ksym_btf_id(struct bpf_object *obj, const char *ksym_name,
981 find_struct_ops_kern_types(struct bpf_object *obj, const char *tname_raw, in find_struct_ops_kern_types()
1051 static bool is_valid_st_ops_program(struct bpf_object *obj, in is_valid_st_ops_program()
1069 static int bpf_object_adjust_struct_ops_autoload(struct bpf_object *obj) in bpf_object_adjust_struct_ops_autoload()
1115 struct bpf_object *obj = map->obj; in bpf_map__init_kern_struct_ops()
1309 static int bpf_object__init_kern_struct_ops_maps(struct bpf_object *obj) in bpf_object__init_kern_struct_ops_maps()
1332 static int init_struct_ops_maps(struct bpf_object *obj, const char *sec_name, in init_struct_ops_maps()
1436 static int bpf_object_init_struct_ops(struct bpf_object *obj) in bpf_object_init_struct_ops()
1459 static struct bpf_object *bpf_object__new(const char *path, in bpf_object__new()
1464 struct bpf_object *obj; in bpf_object__new()
1467 obj = calloc(1, sizeof(struct bpf_object) + strlen(path) + 1); in bpf_object__new()
1502 static void bpf_object__elf_finish(struct bpf_object *obj) in bpf_object__elf_finish()
1519 static int bpf_object__elf_init(struct bpf_object *obj) in bpf_object__elf_init()
1602 static int bpf_object__check_endianness(struct bpf_object *obj) in bpf_object__check_endianness()
1618 bpf_object__init_license(struct bpf_object *obj, void *data, size_t size) in bpf_object__init_license()
1633 bpf_object__init_kversion(struct bpf_object *obj, void *data, size_t size) in bpf_object__init_kversion()
1655 static int find_elf_sec_sz(const struct bpf_object *obj, const char *name, __u32 *size) in find_elf_sec_sz()
1673 static Elf64_Sym *find_elf_var_sym(const struct bpf_object *obj, const char *name) in find_elf_var_sym()
1724 static struct bpf_map *bpf_object__add_map(struct bpf_object *obj) in bpf_object__add_map()
1801 static char *internal_map_name(struct bpf_object *obj, const char *real_name) in internal_map_name()
1860 map_fill_btf_type_info(struct bpf_object *obj, struct bpf_map *map);
1867 static bool map_is_mmapable(struct bpf_object *obj, struct bpf_map *map) in map_is_mmapable()
1894 bpf_object__init_internal_map(struct bpf_object *obj, enum libbpf_map_type type, in bpf_object__init_internal_map()
1954 static int bpf_object__init_global_data_maps(struct bpf_object *obj) in bpf_object__init_global_data_maps()
2004 static struct extern_desc *find_extern_by_name(const struct bpf_object *obj, in find_extern_by_name()
2016 static struct extern_desc *find_extern_by_name_with_len(const struct bpf_object *obj, in find_extern_by_name_with_len()
2180 static int bpf_object__process_kconfig_line(struct bpf_object *obj, in bpf_object__process_kconfig_line()
2244 static int bpf_object__read_kconfig_file(struct bpf_object *obj, void *data) in bpf_object__read_kconfig_file()
2282 static int bpf_object__read_kconfig_mem(struct bpf_object *obj, in bpf_object__read_kconfig_mem()
2309 static int bpf_object__init_kconfig_map(struct bpf_object *obj) in bpf_object__init_kconfig_map()
2827 static int bpf_object__init_user_btf_map(struct bpf_object *obj, in bpf_object__init_user_btf_map()
2929 static int init_arena_map_data(struct bpf_object *obj, struct bpf_map *map, in init_arena_map_data()
2955 static int bpf_object__init_user_btf_maps(struct bpf_object *obj, bool strict, in bpf_object__init_user_btf_maps()
3034 static int bpf_object__init_maps(struct bpf_object *obj, in bpf_object__init_maps()
3052 static bool section_have_execinstr(struct bpf_object *obj, int idx) in section_have_execinstr()
3068 static bool btf_needs_sanitization(struct bpf_object *obj) in btf_needs_sanitization()
3083 static int bpf_object__sanitize_btf(struct bpf_object *obj, struct btf *btf) in bpf_object__sanitize_btf()
3192 static bool libbpf_needs_btf(const struct bpf_object *obj) in libbpf_needs_btf()
3199 static bool kernel_needs_btf(const struct bpf_object *obj) in kernel_needs_btf()
3204 static int bpf_object__init_btf(struct bpf_object *obj, in bpf_object__init_btf()
3292 static int btf_fixup_datasec(struct bpf_object *obj, struct btf *btf, in btf_fixup_datasec()
3385 static int bpf_object_fixup_btf(struct bpf_object *obj) in bpf_object_fixup_btf()
3431 static bool obj_needs_vmlinux_btf(const struct bpf_object *obj) in obj_needs_vmlinux_btf()
3467 static int bpf_object__load_vmlinux_btf(struct bpf_object *obj, bool force) in bpf_object__load_vmlinux_btf()
3488 static int bpf_object__sanitize_and_load_btf(struct bpf_object *obj) in bpf_object__sanitize_and_load_btf()
3593 static const char *elf_sym_str(const struct bpf_object *obj, size_t off) in elf_sym_str()
3607 static const char *elf_sec_str(const struct bpf_object *obj, size_t off) in elf_sec_str()
3621 static Elf_Scn *elf_sec_by_idx(const struct bpf_object *obj, size_t idx) in elf_sec_by_idx()
3634 static Elf_Scn *elf_sec_by_name(const struct bpf_object *obj, const char *name) in elf_sec_by_name()
3653 static Elf64_Shdr *elf_sec_hdr(const struct bpf_object *obj, Elf_Scn *scn) in elf_sec_hdr()
3670 static const char *elf_sec_name(const struct bpf_object *obj, Elf_Scn *scn) in elf_sec_name()
3692 static Elf_Data *elf_sec_data(const struct bpf_object *obj, Elf_Scn *scn) in elf_sec_data()
3710 static Elf64_Sym *elf_sym_by_idx(const struct bpf_object *obj, size_t idx) in elf_sym_by_idx()
3778 static int bpf_object__elf_collect(struct bpf_object *obj) in bpf_object__elf_collect()
4171 static int bpf_object__collect_externs(struct bpf_object *obj) in bpf_object__collect_externs()
4390 static bool prog_is_subprog(const struct bpf_object *obj, const struct bpf_program *prog) in prog_is_subprog()
4396 bpf_object__find_program_by_name(const struct bpf_object *obj, in bpf_object__find_program_by_name()
4410 static bool bpf_object__shndx_is_data(const struct bpf_object *obj, in bpf_object__shndx_is_data()
4423 static bool bpf_object__shndx_is_maps(const struct bpf_object *obj, in bpf_object__shndx_is_maps()
4430 bpf_object__section_to_libbpf_map_type(const struct bpf_object *obj, int shndx) in bpf_object__section_to_libbpf_map_type()
4454 struct bpf_object *obj = prog->obj; in bpf_program__record_reloc()
4615 static struct bpf_program *find_prog_by_sec_insn(const struct bpf_object *obj, in find_prog_by_sec_insn()
4644 bpf_object__collect_prog_relos(struct bpf_object *obj, Elf64_Shdr *shdr, Elf_Data *data) in bpf_object__collect_prog_relos()
4743 static int map_fill_btf_type_info(struct bpf_object *obj, struct bpf_map *map) in map_fill_btf_type_info()
4922 static int bpf_object_prepare_token(struct bpf_object *obj) in bpf_object_prepare_token()
4975 bpf_object__probe_loading(struct bpf_object *obj) in bpf_object__probe_loading()
5013 bool kernel_supports(const struct bpf_object *obj, enum kern_feature_id feat_id) in kernel_supports()
5092 bpf_object__populate_internal_map(struct bpf_object *obj, struct bpf_map *map) in bpf_object__populate_internal_map()
5136 static int bpf_object__create_map(struct bpf_object *obj, struct bpf_map *map, bool is_inner) in bpf_object__create_map()
5267 static int init_map_in_map_slots(struct bpf_object *obj, struct bpf_map *map) in init_map_in_map_slots()
5303 static int init_prog_array_slots(struct bpf_object *obj, struct bpf_map *map) in init_prog_array_slots()
5336 static int bpf_object_init_prog_arrays(struct bpf_object *obj) in bpf_object_init_prog_arrays()
5373 bpf_object__create_maps(struct bpf_object *obj) in bpf_object__create_maps()
5577 static int load_module_btfs(struct bpf_object *obj) in load_module_btfs()
5674 bpf_core_find_cands(struct bpf_object *obj, const struct btf *local_btf, __u32 local_type_id) in bpf_core_find_cands()
5853 bpf_object__relocate_core(struct bpf_object *obj, const char *targ_btf_path) in bpf_object__relocate_core()
6031 bpf_object__relocate_data(struct bpf_object *obj, struct bpf_program *prog) in bpf_object__relocate_data()
6126 static int adjust_prog_btf_ext_info(const struct bpf_object *obj, in adjust_prog_btf_ext_info()
6195 reloc_prog_func_and_line_info(const struct bpf_object *obj, in reloc_prog_func_and_line_info()
6314 bpf_object__append_subprog_code(struct bpf_object *obj, struct bpf_program *main_prog, in bpf_object__append_subprog_code()
6346 bpf_object__reloc_code(struct bpf_object *obj, struct bpf_program *main_prog, in bpf_object__reloc_code()
6536 bpf_object__relocate_calls(struct bpf_object *obj, struct bpf_program *prog) in bpf_object__relocate_calls()
6560 bpf_object__free_relocs(struct bpf_object *obj) in bpf_object__free_relocs()
6588 static void bpf_object__sort_relos(struct bpf_object *obj) in bpf_object__sort_relos()
6602 static int bpf_prog_assign_exc_cb(struct bpf_object *obj, struct bpf_program *prog) in bpf_prog_assign_exc_cb()
6864 static int bpf_program_fixup_func_info(struct bpf_object *obj, struct bpf_program *prog) in bpf_program_fixup_func_info()
7003 static int bpf_object__relocate(struct bpf_object *obj, const char *targ_btf_path) in bpf_object__relocate()
7111 static int bpf_object__collect_st_ops_relos(struct bpf_object *obj,
7114 static int bpf_object__collect_map_relos(struct bpf_object *obj, in bpf_object__collect_map_relos()
7251 static int bpf_object__collect_relos(struct bpf_object *obj) in bpf_object__collect_relos()
7300 static int bpf_object__sanitize_prog(struct bpf_object *obj, struct bpf_program *prog) in bpf_object__sanitize_prog()
7400 static int bpf_object_load_prog(struct bpf_object *obj, struct bpf_program *prog, in bpf_object_load_prog()
7686 struct bpf_object *obj = prog->obj; in fixup_log_missing_map_load()
7719 struct bpf_object *obj = prog->obj; in fixup_log_missing_kfunc_call()
7792 struct bpf_object *obj = prog->obj; in bpf_program_record_relos()
7834 bpf_object__load_progs(struct bpf_object *obj, int log_level) in bpf_object__load_progs()
7874 static int bpf_object_init_progs(struct bpf_object *obj, const struct bpf_object_open_opts *opts) in bpf_object_init_progs()
7907 static struct bpf_object *bpf_object_open(const char *path, const void *obj_buf, size_t obj_buf_sz, in bpf_object_open()
7912 struct bpf_object *obj; in bpf_object_open()
8013 struct bpf_object *
8022 struct bpf_object *bpf_object__open(const char *path) in bpf_object__open()
8027 struct bpf_object *
8042 static int bpf_object_unload(struct bpf_object *obj) in bpf_object_unload()
8061 static int bpf_object__sanitize_maps(struct bpf_object *obj) in bpf_object__sanitize_maps()
8115 struct bpf_object *obj = ctx; in kallsyms_cb()
8145 static int bpf_object__read_kallsyms_file(struct bpf_object *obj) in bpf_object__read_kallsyms_file()
8150 static int find_ksym_btf_id(struct bpf_object *obj, const char *ksym_name, in find_ksym_btf_id()
8184 static int bpf_object__resolve_ksym_var_btf_id(struct bpf_object *obj, in bpf_object__resolve_ksym_var_btf_id()
8237 static int bpf_object__resolve_ksym_func_btf_id(struct bpf_object *obj, in bpf_object__resolve_ksym_func_btf_id()
8309 static int bpf_object__resolve_ksyms_btf_id(struct bpf_object *obj) in bpf_object__resolve_ksyms_btf_id()
8337 static int bpf_object__resolve_externs(struct bpf_object *obj, in bpf_object__resolve_externs()
8469 static int bpf_object_prepare_struct_ops(struct bpf_object *obj) in bpf_object_prepare_struct_ops()
8489 static int bpf_object_load(struct bpf_object *obj, int extra_log_level, const char *target_btf_path) in bpf_object_load()
8558 int bpf_object__load(struct bpf_object *obj) in bpf_object__load()
8805 int bpf_object__pin_maps(struct bpf_object *obj, const char *path) in bpf_object__pin_maps()
8853 int bpf_object__unpin_maps(struct bpf_object *obj, const char *path) in bpf_object__unpin_maps()
8883 int bpf_object__pin_programs(struct bpf_object *obj, const char *path) in bpf_object__pin_programs()
8920 int bpf_object__unpin_programs(struct bpf_object *obj, const char *path) in bpf_object__unpin_programs()
8943 int bpf_object__pin(struct bpf_object *obj, const char *path) in bpf_object__pin()
8960 int bpf_object__unpin(struct bpf_object *obj, const char *path) in bpf_object__unpin()
9004 void bpf_object__close(struct bpf_object *obj) in bpf_object__close()
9052 const char *bpf_object__name(const struct bpf_object *obj) in bpf_object__name()
9057 unsigned int bpf_object__kversion(const struct bpf_object *obj) in bpf_object__kversion()
9062 int bpf_object__token_fd(const struct bpf_object *obj) in bpf_object__token_fd()
9067 struct btf *bpf_object__btf(const struct bpf_object *obj) in bpf_object__btf()
9072 int bpf_object__btf_fd(const struct bpf_object *obj) in bpf_object__btf_fd()
9077 int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version) in bpf_object__set_kversion()
9087 int bpf_object__gen_loader(struct bpf_object *obj, struct gen_loader_opts *opts) in bpf_object__gen_loader()
9104 __bpf_program__iter(const struct bpf_program *p, const struct bpf_object *obj, in __bpf_program__iter()
9130 bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prev) in bpf_object__next_program()
9142 bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *next) in bpf_object__prev_program()
9697 static struct bpf_map *find_struct_ops_map_by_offset(struct bpf_object *obj, in find_struct_ops_map_by_offset()
9720 static int bpf_object__collect_st_ops_relos(struct bpf_object *obj, in bpf_object__collect_st_ops_relos()
9939 static int find_kernel_btf_id(struct bpf_object *obj, const char *attach_name, in find_kernel_btf_id()
10362 __bpf_map__iter(const struct bpf_map *m, const struct bpf_object *obj, int i) in __bpf_map__iter()
10386 bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *prev) in bpf_object__next_map()
10395 bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *next) in bpf_object__prev_map()
10407 bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name) in bpf_object__find_map_by_name()
10434 bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name) in bpf_object__find_map_fd_by_name()
12272 struct bpf_object *obj = prog->obj; in bpf_program__attach_usdt()
13723 static int populate_skeleton_maps(const struct bpf_object *obj, in populate_skeleton_maps()
13748 static int populate_skeleton_progs(const struct bpf_object *obj, in populate_skeleton_progs()
13771 struct bpf_object *obj; in bpf_object__open_skeleton()