Lines Matching refs:st_ops

525 	struct bpf_struct_ops *st_ops;  member
996 struct bpf_struct_ops *st_ops; in bpf_map__init_kern_struct_ops() local
1001 st_ops = map->st_ops; in bpf_map__init_kern_struct_ops()
1002 type = st_ops->type; in bpf_map__init_kern_struct_ops()
1003 tname = st_ops->tname; in bpf_map__init_kern_struct_ops()
1012 map->name, st_ops->type_id, kern_type_id, kern_vtype_id); in bpf_map__init_kern_struct_ops()
1017 st_ops->kern_vdata = calloc(1, kern_vtype->size); in bpf_map__init_kern_struct_ops()
1018 if (!st_ops->kern_vdata) in bpf_map__init_kern_struct_ops()
1021 data = st_ops->data; in bpf_map__init_kern_struct_ops()
1023 kern_data = st_ops->kern_vdata + kern_data_off; in bpf_map__init_kern_struct_ops()
1071 prog = st_ops->progs[i]; in bpf_map__init_kern_struct_ops()
1092 st_ops->kern_func_off[i] = kern_data_off + kern_moff; in bpf_map__init_kern_struct_ops()
1145 struct bpf_struct_ops *st_ops; in init_struct_ops_maps() local
1204 map->st_ops = calloc(1, sizeof(*map->st_ops)); in init_struct_ops_maps()
1205 if (!map->st_ops) in init_struct_ops_maps()
1207 st_ops = map->st_ops; in init_struct_ops_maps()
1208 st_ops->data = malloc(type->size); in init_struct_ops_maps()
1209 st_ops->progs = calloc(btf_vlen(type), sizeof(*st_ops->progs)); in init_struct_ops_maps()
1210 st_ops->kern_func_off = malloc(btf_vlen(type) * in init_struct_ops_maps()
1211 sizeof(*st_ops->kern_func_off)); in init_struct_ops_maps()
1212 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off) in init_struct_ops_maps()
1221 memcpy(st_ops->data, in init_struct_ops_maps()
1224 st_ops->tname = tname; in init_struct_ops_maps()
1225 st_ops->type = type; in init_struct_ops_maps()
1226 st_ops->type_id = type_id; in init_struct_ops_maps()
7494 if (obj->maps[i].st_ops) in bpf_object_unload()
7495 zfree(&obj->maps[i].st_ops->kern_vdata); in bpf_object_unload()
7884 struct bpf_struct_ops *st_ops; in bpf_map_prepare_vdata() local
7887 st_ops = map->st_ops; in bpf_map_prepare_vdata()
7888 for (i = 0; i < btf_vlen(st_ops->type); i++) { in bpf_map_prepare_vdata()
7889 struct bpf_program *prog = st_ops->progs[i]; in bpf_map_prepare_vdata()
7897 kern_data = st_ops->kern_vdata + st_ops->kern_func_off[i]; in bpf_map_prepare_vdata()
8412 if (map->st_ops) { in bpf_map__destroy()
8413 zfree(&map->st_ops->data); in bpf_map__destroy()
8414 zfree(&map->st_ops->progs); in bpf_map__destroy()
8415 zfree(&map->st_ops->kern_func_off); in bpf_map__destroy()
8416 zfree(&map->st_ops); in bpf_map__destroy()
9123 struct bpf_struct_ops *st_ops; in bpf_object__collect_st_ops_relos() local
9161 st_ops = map->st_ops; in bpf_object__collect_st_ops_relos()
9181 member = find_member_by_offset(st_ops->type, moff * 8); in bpf_object__collect_st_ops_relos()
9187 member_idx = member - btf_members(st_ops->type); in bpf_object__collect_st_ops_relos()
9214 prog->attach_btf_id = st_ops->type_id; in bpf_object__collect_st_ops_relos()
9223 if (prog->attach_btf_id != st_ops->type_id || in bpf_object__collect_st_ops_relos()
9231 st_ops->progs[member_idx] = prog; in bpf_object__collect_st_ops_relos()
12172 err = bpf_map_update_elem(map->fd, &zero, map->st_ops->kern_vdata, 0); in bpf_map__attach_struct_ops()
12221 err = bpf_map_update_elem(map->fd, &zero, map->st_ops->kern_vdata, 0); in bpf_link__update_map()