Lines Matching defs:st_ops
539 struct bpf_struct_ops *st_ops;
1042 struct bpf_struct_ops *st_ops;
1047 st_ops = map->st_ops;
1048 type = st_ops->type;
1049 tname = st_ops->tname;
1058 map->name, st_ops->type_id, kern_type_id, kern_vtype_id);
1063 st_ops->kern_vdata = calloc(1, kern_vtype->size);
1064 if (!st_ops->kern_vdata)
1067 data = st_ops->data;
1069 kern_data = st_ops->kern_vdata + kern_data_off;
1117 prog = st_ops->progs[i];
1138 st_ops->kern_func_off[i] = kern_data_off + kern_moff;
1191 struct bpf_struct_ops *st_ops;
1250 map->st_ops = calloc(1, sizeof(*map->st_ops));
1251 if (!map->st_ops)
1253 st_ops = map->st_ops;
1254 st_ops->data = malloc(type->size);
1255 st_ops->progs = calloc(btf_vlen(type), sizeof(*st_ops->progs));
1256 st_ops->kern_func_off = malloc(btf_vlen(type) *
1257 sizeof(*st_ops->kern_func_off));
1258 if (!st_ops->data || !st_ops->progs || !st_ops->kern_func_off)
1267 memcpy(st_ops->data,
1270 st_ops->tname = tname;
1271 st_ops->type = type;
1272 st_ops->type_id = type_id;
7945 if (obj->maps[i].st_ops)
7946 zfree(&obj->maps[i].st_ops->kern_vdata);
8335 struct bpf_struct_ops *st_ops;
8338 st_ops = map->st_ops;
8339 for (i = 0; i < btf_vlen(st_ops->type); i++) {
8340 struct bpf_program *prog = st_ops->progs[i];
8348 kern_data = st_ops->kern_vdata + st_ops->kern_func_off[i];
8863 if (map->st_ops) {
8864 zfree(&map->st_ops->data);
8865 zfree(&map->st_ops->progs);
8866 zfree(&map->st_ops->kern_func_off);
8867 zfree(&map->st_ops);
9580 /* Collect the reloc from ELF and populate the st_ops->progs[] */
9585 struct bpf_struct_ops *st_ops;
9623 st_ops = map->st_ops;
9643 member = find_member_by_offset(st_ops->type, moff * 8);
9649 member_idx = member - btf_members(st_ops->type);
9676 prog->attach_btf_id = st_ops->type_id;
9685 if (prog->attach_btf_id != st_ops->type_id ||
9693 st_ops->progs[member_idx] = prog;
12692 err = bpf_map_update_elem(map->fd, &zero, map->st_ops->kern_vdata, 0);
12741 err = bpf_map_update_elem(map->fd, &zero, map->st_ops->kern_vdata, 0);