Lines Matching refs:st_ops

507 	struct bpf_struct_ops *st_ops;  member
1012 struct bpf_struct_ops *st_ops; in bpf_map__init_kern_struct_ops() local
1017 st_ops = map->st_ops; in bpf_map__init_kern_struct_ops()
1018 type = st_ops->type; in bpf_map__init_kern_struct_ops()
1019 tname = st_ops->tname; in bpf_map__init_kern_struct_ops()
1028 map->name, st_ops->type_id, kern_type_id, kern_vtype_id); in bpf_map__init_kern_struct_ops()
1033 st_ops->kern_vdata = calloc(1, kern_vtype->size); in bpf_map__init_kern_struct_ops()
1034 if (!st_ops->kern_vdata) in bpf_map__init_kern_struct_ops()
1037 data = st_ops->data; in bpf_map__init_kern_struct_ops()
1039 kern_data = st_ops->kern_vdata + kern_data_off; in bpf_map__init_kern_struct_ops()
1087 prog = st_ops->progs[i]; in bpf_map__init_kern_struct_ops()
1108 st_ops->kern_func_off[i] = kern_data_off + kern_moff; in bpf_map__init_kern_struct_ops()
1160 struct bpf_struct_ops *st_ops; in bpf_object__init_struct_ops_maps() local
1218 map->st_ops = calloc(1, sizeof(*map->st_ops)); in bpf_object__init_struct_ops_maps()
1219 if (!map->st_ops) in bpf_object__init_struct_ops_maps()
1221 st_ops = map->st_ops; in bpf_object__init_struct_ops_maps()
1222 st_ops->data = malloc(type->size); in bpf_object__init_struct_ops_maps()
1223 st_ops->progs = calloc(btf_vlen(type), sizeof(*st_ops->progs)); in bpf_object__init_struct_ops_maps()
1224 st_ops->kern_func_off = malloc(btf_vlen(type) * in bpf_object__init_struct_ops_maps()
1225 sizeof(*st_ops->kern_func_off)); in bpf_object__init_struct_ops_maps()
1226 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off) in bpf_object__init_struct_ops_maps()
1235 memcpy(st_ops->data, in bpf_object__init_struct_ops_maps()
1238 st_ops->tname = tname; in bpf_object__init_struct_ops_maps()
1239 st_ops->type = type; in bpf_object__init_struct_ops_maps()
1240 st_ops->type_id = type_id; in bpf_object__init_struct_ops_maps()
7274 if (obj->maps[i].st_ops) in bpf_object_unload()
7275 zfree(&obj->maps[i].st_ops->kern_vdata); in bpf_object_unload()
8131 if (map->st_ops) { in bpf_map__destroy()
8132 zfree(&map->st_ops->data); in bpf_map__destroy()
8133 zfree(&map->st_ops->progs); in bpf_map__destroy()
8134 zfree(&map->st_ops->kern_func_off); in bpf_map__destroy()
8135 zfree(&map->st_ops); in bpf_map__destroy()
8806 struct bpf_struct_ops *st_ops; in bpf_object__collect_st_ops_relos() local
8844 st_ops = map->st_ops; in bpf_object__collect_st_ops_relos()
8864 member = find_member_by_offset(st_ops->type, moff * 8); in bpf_object__collect_st_ops_relos()
8870 member_idx = member - btf_members(st_ops->type); in bpf_object__collect_st_ops_relos()
8897 prog->attach_btf_id = st_ops->type_id; in bpf_object__collect_st_ops_relos()
8905 if (prog->attach_btf_id != st_ops->type_id || in bpf_object__collect_st_ops_relos()
8913 st_ops->progs[member_idx] = prog; in bpf_object__collect_st_ops_relos()
11407 struct bpf_struct_ops *st_ops; in bpf_map__attach_struct_ops() local
11419 st_ops = map->st_ops; in bpf_map__attach_struct_ops()
11420 for (i = 0; i < btf_vlen(st_ops->type); i++) { in bpf_map__attach_struct_ops()
11421 struct bpf_program *prog = st_ops->progs[i]; in bpf_map__attach_struct_ops()
11429 kern_data = st_ops->kern_vdata + st_ops->kern_func_off[i]; in bpf_map__attach_struct_ops()
11433 err = bpf_map_update_elem(map->fd, &zero, st_ops->kern_vdata, 0); in bpf_map__attach_struct_ops()