Lines Matching refs:st_ops
35 const struct bpf_struct_ops *st_ops; member
117 struct bpf_struct_ops *st_ops; in bpf_struct_ops_init() local
136 st_ops = bpf_struct_ops[i]; in bpf_struct_ops_init()
138 if (strlen(st_ops->name) + VALUE_PREFIX_LEN >= in bpf_struct_ops_init()
141 st_ops->name); in bpf_struct_ops_init()
144 sprintf(value_name, "%s%s", VALUE_PREFIX, st_ops->name); in bpf_struct_ops_init()
154 type_id = btf_find_by_name_kind(btf, st_ops->name, in bpf_struct_ops_init()
158 st_ops->name); in bpf_struct_ops_init()
164 btf_type_vlen(t), st_ops->name); in bpf_struct_ops_init()
174 st_ops->name); in bpf_struct_ops_init()
180 mname, st_ops->name); in bpf_struct_ops_init()
190 &st_ops->func_models[j])) { in bpf_struct_ops_init()
192 mname, st_ops->name); in bpf_struct_ops_init()
198 if (st_ops->init(btf)) { in bpf_struct_ops_init()
200 st_ops->name); in bpf_struct_ops_init()
202 st_ops->type_id = type_id; in bpf_struct_ops_init()
203 st_ops->type = t; in bpf_struct_ops_init()
204 st_ops->value_id = value_id; in bpf_struct_ops_init()
205 st_ops->value_type = btf_type_by_id(btf, in bpf_struct_ops_init()
299 const struct btf_type *t = st_map->st_ops->type; in bpf_struct_ops_map_put_progs()
373 const struct bpf_struct_ops *st_ops = st_map->st_ops; in bpf_struct_ops_map_update_elem() local
376 const struct btf_type *t = st_ops->type; in bpf_struct_ops_map_update_elem()
389 err = check_zero_holes(st_ops->value_type, value); in bpf_struct_ops_map_update_elem()
437 err = st_ops->init_member(t, member, kdata, udata); in bpf_struct_ops_map_update_elem()
481 prog->aux->attach_btf_id != st_ops->type_id || in bpf_struct_ops_map_update_elem()
499 &st_ops->func_models[i], in bpf_struct_ops_map_update_elem()
513 if (st_ops->validate) { in bpf_struct_ops_map_update_elem()
514 err = st_ops->validate(kdata); in bpf_struct_ops_map_update_elem()
528 err = st_ops->reg(kdata); in bpf_struct_ops_map_update_elem()
577 st_map->st_ops->unreg(&st_map->kvalue.data); in bpf_struct_ops_map_delete_elem()
655 const struct bpf_struct_ops *st_ops; in bpf_struct_ops_map_alloc() local
661 st_ops = bpf_struct_ops_find_value(attr->btf_vmlinux_value_type_id); in bpf_struct_ops_map_alloc()
662 if (!st_ops) in bpf_struct_ops_map_alloc()
665 vt = st_ops->value_type; in bpf_struct_ops_map_alloc()
669 t = st_ops->type; in bpf_struct_ops_map_alloc()
681 st_map->st_ops = st_ops; in bpf_struct_ops_map_alloc()
704 const struct bpf_struct_ops *st_ops = st_map->st_ops; in bpf_struct_ops_map_mem_usage() local
705 const struct btf_type *vt = st_ops->value_type; in bpf_struct_ops_map_mem_usage()
779 st_map->st_ops->unreg(&st_map->kvalue.data); in bpf_struct_ops_map_link_dealloc()
826 if (!st_map->st_ops->update) in bpf_struct_ops_map_link_update()
839 if (st_map->st_ops != old_st_map->st_ops) { in bpf_struct_ops_map_link_update()
844 err = st_map->st_ops->update(st_map->kvalue.data, old_st_map->kvalue.data); in bpf_struct_ops_map_link_update()
895 err = st_map->st_ops->reg(st_map->kvalue.data); in bpf_struct_ops_link_create()