Lines Matching refs:st_ops

351 	struct bpf_struct_ops *st_ops;  member
793 struct bpf_struct_ops *st_ops; in bpf_map__init_kern_struct_ops() local
798 st_ops = map->st_ops; in bpf_map__init_kern_struct_ops()
799 type = st_ops->type; in bpf_map__init_kern_struct_ops()
800 tname = st_ops->tname; in bpf_map__init_kern_struct_ops()
809 map->name, st_ops->type_id, kern_type_id, kern_vtype_id); in bpf_map__init_kern_struct_ops()
814 st_ops->kern_vdata = calloc(1, kern_vtype->size); in bpf_map__init_kern_struct_ops()
815 if (!st_ops->kern_vdata) in bpf_map__init_kern_struct_ops()
818 data = st_ops->data; in bpf_map__init_kern_struct_ops()
820 kern_data = st_ops->kern_vdata + kern_data_off; in bpf_map__init_kern_struct_ops()
879 prog = st_ops->progs[i]; in bpf_map__init_kern_struct_ops()
889 st_ops->kern_func_off[i] = kern_data_off + kern_moff; in bpf_map__init_kern_struct_ops()
941 struct bpf_struct_ops *st_ops; in bpf_object__init_struct_ops_maps() local
999 map->st_ops = calloc(1, sizeof(*map->st_ops)); in bpf_object__init_struct_ops_maps()
1000 if (!map->st_ops) in bpf_object__init_struct_ops_maps()
1002 st_ops = map->st_ops; in bpf_object__init_struct_ops_maps()
1003 st_ops->data = malloc(type->size); in bpf_object__init_struct_ops_maps()
1004 st_ops->progs = calloc(btf_vlen(type), sizeof(*st_ops->progs)); in bpf_object__init_struct_ops_maps()
1005 st_ops->kern_func_off = malloc(btf_vlen(type) * in bpf_object__init_struct_ops_maps()
1006 sizeof(*st_ops->kern_func_off)); in bpf_object__init_struct_ops_maps()
1007 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off) in bpf_object__init_struct_ops_maps()
1016 memcpy(st_ops->data, in bpf_object__init_struct_ops_maps()
1019 st_ops->tname = tname; in bpf_object__init_struct_ops_maps()
1020 st_ops->type = type; in bpf_object__init_struct_ops_maps()
1021 st_ops->type_id = type_id; in bpf_object__init_struct_ops_maps()
7024 if (obj->maps[i].st_ops) in bpf_object__unload()
7025 zfree(&obj->maps[i].st_ops->kern_vdata); in bpf_object__unload()
7854 if (map->st_ops) { in bpf_map__destroy()
7855 zfree(&map->st_ops->data); in bpf_map__destroy()
7856 zfree(&map->st_ops->progs); in bpf_map__destroy()
7857 zfree(&map->st_ops->kern_func_off); in bpf_map__destroy()
7858 zfree(&map->st_ops); in bpf_map__destroy()
8477 struct bpf_struct_ops *st_ops; in bpf_object__collect_st_ops_relos() local
8515 st_ops = map->st_ops; in bpf_object__collect_st_ops_relos()
8535 member = find_member_by_offset(st_ops->type, moff * 8); in bpf_object__collect_st_ops_relos()
8541 member_idx = member - btf_members(st_ops->type); in bpf_object__collect_st_ops_relos()
8569 prog->attach_btf_id = st_ops->type_id; in bpf_object__collect_st_ops_relos()
8572 prog->attach_btf_id != st_ops->type_id || in bpf_object__collect_st_ops_relos()
8576 st_ops->progs[member_idx] = prog; in bpf_object__collect_st_ops_relos()
9775 struct bpf_struct_ops *st_ops; in bpf_map__attach_struct_ops() local
9787 st_ops = map->st_ops; in bpf_map__attach_struct_ops()
9788 for (i = 0; i < btf_vlen(st_ops->type); i++) { in bpf_map__attach_struct_ops()
9789 struct bpf_program *prog = st_ops->progs[i]; in bpf_map__attach_struct_ops()
9797 kern_data = st_ops->kern_vdata + st_ops->kern_func_off[i]; in bpf_map__attach_struct_ops()
9801 err = bpf_map_update_elem(map->fd, &zero, st_ops->kern_vdata, 0); in bpf_map__attach_struct_ops()