Lines Matching refs:st_ops

565 	struct bpf_struct_ops *st_ops;  member
1090 type = btf__type_by_id(obj->btf, map->st_ops->type_id); in bpf_object_adjust_struct_ops_autoload()
1093 slot_prog = map->st_ops->progs[k]; in bpf_object_adjust_struct_ops_autoload()
1117 struct bpf_struct_ops *st_ops; in bpf_map__init_kern_struct_ops() local
1124 st_ops = map->st_ops; in bpf_map__init_kern_struct_ops()
1125 type = btf__type_by_id(btf, st_ops->type_id); in bpf_map__init_kern_struct_ops()
1137 map->name, st_ops->type_id, kern_type_id, kern_vtype_id); in bpf_map__init_kern_struct_ops()
1143 st_ops->kern_vdata = calloc(1, kern_vtype->size); in bpf_map__init_kern_struct_ops()
1144 if (!st_ops->kern_vdata) in bpf_map__init_kern_struct_ops()
1147 data = st_ops->data; in bpf_map__init_kern_struct_ops()
1149 kern_data = st_ops->kern_vdata + kern_data_off; in bpf_map__init_kern_struct_ops()
1180 if (st_ops->progs[i]) { in bpf_map__init_kern_struct_ops()
1188 st_ops->progs[i]->autoload = false; in bpf_map__init_kern_struct_ops()
1189 st_ops->progs[i] = NULL; in bpf_map__init_kern_struct_ops()
1226 if (st_ops->progs[i] && st_ops->progs[i] != prog) in bpf_map__init_kern_struct_ops()
1227 st_ops->progs[i]->autoload = false; in bpf_map__init_kern_struct_ops()
1230 st_ops->progs[i] = prog; in bpf_map__init_kern_struct_ops()
1283 st_ops->kern_func_off[i] = kern_data_off + kern_moff; in bpf_map__init_kern_struct_ops()
1337 struct bpf_struct_ops *st_ops; in init_struct_ops_maps() local
1407 map->st_ops = calloc(1, sizeof(*map->st_ops)); in init_struct_ops_maps()
1408 if (!map->st_ops) in init_struct_ops_maps()
1410 st_ops = map->st_ops; in init_struct_ops_maps()
1411 st_ops->data = malloc(type->size); in init_struct_ops_maps()
1412 st_ops->progs = calloc(btf_vlen(type), sizeof(*st_ops->progs)); in init_struct_ops_maps()
1413 st_ops->kern_func_off = malloc(btf_vlen(type) * in init_struct_ops_maps()
1414 sizeof(*st_ops->kern_func_off)); in init_struct_ops_maps()
1415 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off) in init_struct_ops_maps()
1424 memcpy(st_ops->data, in init_struct_ops_maps()
1427 st_ops->type_id = type_id; in init_struct_ops_maps()
8051 if (obj->maps[i].st_ops) in bpf_object_unload()
8052 zfree(&obj->maps[i].st_ops->kern_vdata); in bpf_object_unload()
8450 struct bpf_struct_ops *st_ops; in bpf_map_prepare_vdata() local
8453 st_ops = map->st_ops; in bpf_map_prepare_vdata()
8454 type = btf__type_by_id(map->obj->btf, st_ops->type_id); in bpf_map_prepare_vdata()
8456 struct bpf_program *prog = st_ops->progs[i]; in bpf_map_prepare_vdata()
8464 kern_data = st_ops->kern_vdata + st_ops->kern_func_off[i]; in bpf_map_prepare_vdata()
8989 if (map->st_ops) { in bpf_map__destroy()
8990 zfree(&map->st_ops->data); in bpf_map__destroy()
8991 zfree(&map->st_ops->progs); in bpf_map__destroy()
8992 zfree(&map->st_ops->kern_func_off); in bpf_map__destroy()
8993 zfree(&map->st_ops); in bpf_map__destroy()
9725 struct bpf_struct_ops *st_ops; in bpf_object__collect_st_ops_relos() local
9763 st_ops = map->st_ops; in bpf_object__collect_st_ops_relos()
9783 type = btf__type_by_id(btf, st_ops->type_id); in bpf_object__collect_st_ops_relos()
9813 st_ops->progs[member_idx] = prog; in bpf_object__collect_st_ops_relos()
9821 *((struct bpf_program **)(st_ops->data + moff)) = prog; in bpf_object__collect_st_ops_relos()
10311 return map->st_ops->data; in bpf_map__initial_value()
12944 err = bpf_map_update_elem(map->fd, &zero, map->st_ops->kern_vdata, 0); in bpf_map__attach_struct_ops()
12998 err = bpf_map_update_elem(map->fd, &zero, map->st_ops->kern_vdata, 0); in bpf_link__update_map()