Lines Matching refs:st_ops
373 struct bpf_struct_ops *st_ops; member
862 struct bpf_struct_ops *st_ops; in bpf_map__init_kern_struct_ops() local
867 st_ops = map->st_ops; in bpf_map__init_kern_struct_ops()
868 type = st_ops->type; in bpf_map__init_kern_struct_ops()
869 tname = st_ops->tname; in bpf_map__init_kern_struct_ops()
878 map->name, st_ops->type_id, kern_type_id, kern_vtype_id); in bpf_map__init_kern_struct_ops()
883 st_ops->kern_vdata = calloc(1, kern_vtype->size); in bpf_map__init_kern_struct_ops()
884 if (!st_ops->kern_vdata) in bpf_map__init_kern_struct_ops()
887 data = st_ops->data; in bpf_map__init_kern_struct_ops()
889 kern_data = st_ops->kern_vdata + kern_data_off; in bpf_map__init_kern_struct_ops()
937 prog = st_ops->progs[i]; in bpf_map__init_kern_struct_ops()
958 st_ops->kern_func_off[i] = kern_data_off + kern_moff; in bpf_map__init_kern_struct_ops()
1010 struct bpf_struct_ops *st_ops; in bpf_object__init_struct_ops_maps() local
1068 map->st_ops = calloc(1, sizeof(*map->st_ops)); in bpf_object__init_struct_ops_maps()
1069 if (!map->st_ops) in bpf_object__init_struct_ops_maps()
1071 st_ops = map->st_ops; in bpf_object__init_struct_ops_maps()
1072 st_ops->data = malloc(type->size); in bpf_object__init_struct_ops_maps()
1073 st_ops->progs = calloc(btf_vlen(type), sizeof(*st_ops->progs)); in bpf_object__init_struct_ops_maps()
1074 st_ops->kern_func_off = malloc(btf_vlen(type) * in bpf_object__init_struct_ops_maps()
1075 sizeof(*st_ops->kern_func_off)); in bpf_object__init_struct_ops_maps()
1076 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off) in bpf_object__init_struct_ops_maps()
1085 memcpy(st_ops->data, in bpf_object__init_struct_ops_maps()
1088 st_ops->tname = tname; in bpf_object__init_struct_ops_maps()
1089 st_ops->type = type; in bpf_object__init_struct_ops_maps()
1090 st_ops->type_id = type_id; in bpf_object__init_struct_ops_maps()
6541 if (obj->maps[i].st_ops) in bpf_object__unload()
6542 zfree(&obj->maps[i].st_ops->kern_vdata); in bpf_object__unload()
7512 if (map->st_ops) { in bpf_map__destroy()
7513 zfree(&map->st_ops->data); in bpf_map__destroy()
7514 zfree(&map->st_ops->progs); in bpf_map__destroy()
7515 zfree(&map->st_ops->kern_func_off); in bpf_map__destroy()
7516 zfree(&map->st_ops); in bpf_map__destroy()
8168 struct bpf_struct_ops *st_ops; in bpf_object__collect_st_ops_relos() local
8206 st_ops = map->st_ops; in bpf_object__collect_st_ops_relos()
8226 member = find_member_by_offset(st_ops->type, moff * 8); in bpf_object__collect_st_ops_relos()
8232 member_idx = member - btf_members(st_ops->type); in bpf_object__collect_st_ops_relos()
8260 prog->attach_btf_id = st_ops->type_id; in bpf_object__collect_st_ops_relos()
8263 prog->attach_btf_id != st_ops->type_id || in bpf_object__collect_st_ops_relos()
8267 st_ops->progs[member_idx] = prog; in bpf_object__collect_st_ops_relos()
9704 struct bpf_struct_ops *st_ops; in bpf_map__attach_struct_ops() local
9716 st_ops = map->st_ops; in bpf_map__attach_struct_ops()
9717 for (i = 0; i < btf_vlen(st_ops->type); i++) { in bpf_map__attach_struct_ops()
9718 struct bpf_program *prog = st_ops->progs[i]; in bpf_map__attach_struct_ops()
9726 kern_data = st_ops->kern_vdata + st_ops->kern_func_off[i]; in bpf_map__attach_struct_ops()
9730 err = bpf_map_update_elem(map->fd, &zero, st_ops->kern_vdata, 0); in bpf_map__attach_struct_ops()