Lines Matching refs:tab

1671 	struct btf_kfunc_set_tab *tab = btf->kfunc_set_tab;  in btf_free_kfunc_set_tab()  local
1674 if (!tab) in btf_free_kfunc_set_tab()
1676 for (hook = 0; hook < ARRAY_SIZE(tab->sets); hook++) in btf_free_kfunc_set_tab()
1677 kfree(tab->sets[hook]); in btf_free_kfunc_set_tab()
1678 kfree(tab); in btf_free_kfunc_set_tab()
1684 struct btf_id_dtor_kfunc_tab *tab = btf->dtor_kfunc_tab; in btf_free_dtor_kfunc_tab() local
1686 if (!tab) in btf_free_dtor_kfunc_tab()
1688 kfree(tab); in btf_free_dtor_kfunc_tab()
1692 static void btf_struct_metas_free(struct btf_struct_metas *tab) in btf_struct_metas_free() argument
1696 if (!tab) in btf_struct_metas_free()
1698 for (i = 0; i < tab->cnt; i++) in btf_struct_metas_free()
1699 btf_record_free(tab->types[i].record); in btf_struct_metas_free()
1700 kfree(tab); in btf_struct_metas_free()
1705 struct btf_struct_metas *tab = btf->struct_meta_tab; in btf_free_struct_meta_tab() local
1707 btf_struct_metas_free(tab); in btf_free_struct_meta_tab()
1713 struct btf_struct_ops_tab *tab = btf->struct_ops_tab; in btf_free_struct_ops_tab() local
1716 if (!tab) in btf_free_struct_ops_tab()
1719 for (i = 0; i < tab->cnt; i++) in btf_free_struct_ops_tab()
1720 bpf_struct_ops_desc_release(&tab->ops[i]); in btf_free_struct_ops_tab()
1722 kfree(tab); in btf_free_struct_ops_tab()
5523 struct btf_struct_metas *tab = NULL; in btf_parse_struct_metas() local
5609 tab_cnt = tab ? tab->cnt : 0; in btf_parse_struct_metas()
5610 new_tab = krealloc(tab, offsetof(struct btf_struct_metas, types[tab_cnt + 1]), in btf_parse_struct_metas()
5616 if (!tab) in btf_parse_struct_metas()
5618 tab = new_tab; in btf_parse_struct_metas()
5620 type = &tab->types[tab->cnt]; in btf_parse_struct_metas()
5631 tab->cnt++; in btf_parse_struct_metas()
5634 return tab; in btf_parse_struct_metas()
5636 btf_struct_metas_free(tab); in btf_parse_struct_metas()
5644 struct btf_struct_metas *tab; in btf_find_struct_meta() local
5647 tab = btf->struct_meta_tab; in btf_find_struct_meta()
5648 if (!tab) in btf_find_struct_meta()
5650 return bsearch(&btf_id, tab->types, tab->cnt, sizeof(tab->types[0]), btf_id_cmp_func); in btf_find_struct_meta()
8224 struct btf_kfunc_set_tab *tab; in btf_populate_kfunc_set() local
8237 tab = btf->kfunc_set_tab; in btf_populate_kfunc_set()
8239 if (tab && add_filter) { in btf_populate_kfunc_set()
8242 hook_filter = &tab->hook_filters[hook]; in btf_populate_kfunc_set()
8256 if (!tab) { in btf_populate_kfunc_set()
8257 tab = kzalloc(sizeof(*tab), GFP_KERNEL | __GFP_NOWARN); in btf_populate_kfunc_set()
8258 if (!tab) in btf_populate_kfunc_set()
8260 btf->kfunc_set_tab = tab; in btf_populate_kfunc_set()
8263 set = tab->sets[hook]; in btf_populate_kfunc_set()
8295 set = krealloc(tab->sets[hook], in btf_populate_kfunc_set()
8304 if (!tab->sets[hook]) in btf_populate_kfunc_set()
8306 tab->sets[hook] = set; in btf_populate_kfunc_set()
8319 hook_filter = &tab->hook_filters[hook]; in btf_populate_kfunc_set()
8484 struct btf_id_dtor_kfunc_tab *tab = btf->dtor_kfunc_tab; in btf_find_dtor_kfunc() local
8487 if (!tab) in btf_find_dtor_kfunc()
8493 dtor = bsearch(&btf_id, tab->dtors, tab->cnt, sizeof(tab->dtors[0]), btf_id_cmp_func); in btf_find_dtor_kfunc()
8540 struct btf_id_dtor_kfunc_tab *tab; in register_btf_id_dtor_kfuncs() local
8562 tab = btf->dtor_kfunc_tab; in register_btf_id_dtor_kfuncs()
8564 if (WARN_ON_ONCE(tab && btf_is_module(btf))) { in register_btf_id_dtor_kfuncs()
8569 tab_cnt = tab ? tab->cnt : 0; in register_btf_id_dtor_kfuncs()
8580 tab = krealloc(btf->dtor_kfunc_tab, in register_btf_id_dtor_kfuncs()
8583 if (!tab) { in register_btf_id_dtor_kfuncs()
8589 tab->cnt = 0; in register_btf_id_dtor_kfuncs()
8590 btf->dtor_kfunc_tab = tab; in register_btf_id_dtor_kfuncs()
8592 memcpy(tab->dtors + tab->cnt, dtors, add_cnt * sizeof(tab->dtors[0])); in register_btf_id_dtor_kfuncs()
8596 tab->dtors[i].btf_id = btf_relocate_id(btf, tab->dtors[i].btf_id); in register_btf_id_dtor_kfuncs()
8597 tab->dtors[i].kfunc_btf_id = btf_relocate_id(btf, tab->dtors[i].kfunc_btf_id); in register_btf_id_dtor_kfuncs()
8600 tab->cnt += add_cnt; in register_btf_id_dtor_kfuncs()
8602 sort(tab->dtors, tab->cnt, sizeof(tab->dtors[0]), btf_id_cmp_func, NULL); in register_btf_id_dtor_kfuncs()
9134 struct btf_struct_ops_tab *tab, *new_tab; in btf_add_struct_ops() local
9137 tab = btf->struct_ops_tab; in btf_add_struct_ops()
9138 if (!tab) { in btf_add_struct_ops()
9139 tab = kzalloc(offsetof(struct btf_struct_ops_tab, ops[4]), in btf_add_struct_ops()
9141 if (!tab) in btf_add_struct_ops()
9143 tab->capacity = 4; in btf_add_struct_ops()
9144 btf->struct_ops_tab = tab; in btf_add_struct_ops()
9147 for (i = 0; i < tab->cnt; i++) in btf_add_struct_ops()
9148 if (tab->ops[i].st_ops == st_ops) in btf_add_struct_ops()
9151 if (tab->cnt == tab->capacity) { in btf_add_struct_ops()
9152 new_tab = krealloc(tab, in btf_add_struct_ops()
9154 ops[tab->capacity * 2]), in btf_add_struct_ops()
9158 tab = new_tab; in btf_add_struct_ops()
9159 tab->capacity *= 2; in btf_add_struct_ops()
9160 btf->struct_ops_tab = tab; in btf_add_struct_ops()
9163 tab->ops[btf->struct_ops_tab->cnt].st_ops = st_ops; in btf_add_struct_ops()
9165 err = bpf_struct_ops_desc_init(&tab->ops[btf->struct_ops_tab->cnt], btf, log); in btf_add_struct_ops()