Lines Matching refs:st_ops
396 struct bpf_struct_ops *st_ops; member
910 struct bpf_struct_ops *st_ops; in bpf_map__init_kern_struct_ops() local
915 st_ops = map->st_ops; in bpf_map__init_kern_struct_ops()
916 type = st_ops->type; in bpf_map__init_kern_struct_ops()
917 tname = st_ops->tname; in bpf_map__init_kern_struct_ops()
926 map->name, st_ops->type_id, kern_type_id, kern_vtype_id); in bpf_map__init_kern_struct_ops()
931 st_ops->kern_vdata = calloc(1, kern_vtype->size); in bpf_map__init_kern_struct_ops()
932 if (!st_ops->kern_vdata) in bpf_map__init_kern_struct_ops()
935 data = st_ops->data; in bpf_map__init_kern_struct_ops()
937 kern_data = st_ops->kern_vdata + kern_data_off; in bpf_map__init_kern_struct_ops()
985 prog = st_ops->progs[i]; in bpf_map__init_kern_struct_ops()
1006 st_ops->kern_func_off[i] = kern_data_off + kern_moff; in bpf_map__init_kern_struct_ops()
1058 struct bpf_struct_ops *st_ops; in bpf_object__init_struct_ops_maps() local
1116 map->st_ops = calloc(1, sizeof(*map->st_ops)); in bpf_object__init_struct_ops_maps()
1117 if (!map->st_ops) in bpf_object__init_struct_ops_maps()
1119 st_ops = map->st_ops; in bpf_object__init_struct_ops_maps()
1120 st_ops->data = malloc(type->size); in bpf_object__init_struct_ops_maps()
1121 st_ops->progs = calloc(btf_vlen(type), sizeof(*st_ops->progs)); in bpf_object__init_struct_ops_maps()
1122 st_ops->kern_func_off = malloc(btf_vlen(type) * in bpf_object__init_struct_ops_maps()
1123 sizeof(*st_ops->kern_func_off)); in bpf_object__init_struct_ops_maps()
1124 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off) in bpf_object__init_struct_ops_maps()
1133 memcpy(st_ops->data, in bpf_object__init_struct_ops_maps()
1136 st_ops->tname = tname; in bpf_object__init_struct_ops_maps()
1137 st_ops->type = type; in bpf_object__init_struct_ops_maps()
1138 st_ops->type_id = type_id; in bpf_object__init_struct_ops_maps()
6899 if (obj->maps[i].st_ops) in bpf_object_unload()
6900 zfree(&obj->maps[i].st_ops->kern_vdata); in bpf_object_unload()
7897 if (map->st_ops) { in bpf_map__destroy()
7898 zfree(&map->st_ops->data); in bpf_map__destroy()
7899 zfree(&map->st_ops->progs); in bpf_map__destroy()
7900 zfree(&map->st_ops->kern_func_off); in bpf_map__destroy()
7901 zfree(&map->st_ops); in bpf_map__destroy()
8509 struct bpf_struct_ops *st_ops; in bpf_object__collect_st_ops_relos() local
8547 st_ops = map->st_ops; in bpf_object__collect_st_ops_relos()
8567 member = find_member_by_offset(st_ops->type, moff * 8); in bpf_object__collect_st_ops_relos()
8573 member_idx = member - btf_members(st_ops->type); in bpf_object__collect_st_ops_relos()
8600 prog->attach_btf_id = st_ops->type_id; in bpf_object__collect_st_ops_relos()
8608 if (prog->attach_btf_id != st_ops->type_id || in bpf_object__collect_st_ops_relos()
8616 st_ops->progs[member_idx] = prog; in bpf_object__collect_st_ops_relos()
10358 struct bpf_struct_ops *st_ops; in bpf_map__attach_struct_ops() local
10370 st_ops = map->st_ops; in bpf_map__attach_struct_ops()
10371 for (i = 0; i < btf_vlen(st_ops->type); i++) { in bpf_map__attach_struct_ops()
10372 struct bpf_program *prog = st_ops->progs[i]; in bpf_map__attach_struct_ops()
10380 kern_data = st_ops->kern_vdata + st_ops->kern_func_off[i]; in bpf_map__attach_struct_ops()
10384 err = bpf_map_update_elem(map->fd, &zero, st_ops->kern_vdata, 0); in bpf_map__attach_struct_ops()