Lines Matching refs:tab

1805 	struct btf_kfunc_set_tab *tab = btf->kfunc_set_tab;  in btf_free_kfunc_set_tab()  local
1808 if (!tab) in btf_free_kfunc_set_tab()
1810 for (hook = 0; hook < ARRAY_SIZE(tab->sets); hook++) in btf_free_kfunc_set_tab()
1811 kfree(tab->sets[hook]); in btf_free_kfunc_set_tab()
1812 kfree(tab); in btf_free_kfunc_set_tab()
1818 struct btf_id_dtor_kfunc_tab *tab = btf->dtor_kfunc_tab; in btf_free_dtor_kfunc_tab() local
1820 if (!tab) in btf_free_dtor_kfunc_tab()
1822 kfree(tab); in btf_free_dtor_kfunc_tab()
1826 static void btf_struct_metas_free(struct btf_struct_metas *tab) in btf_struct_metas_free() argument
1830 if (!tab) in btf_struct_metas_free()
1832 for (i = 0; i < tab->cnt; i++) in btf_struct_metas_free()
1833 btf_record_free(tab->types[i].record); in btf_struct_metas_free()
1834 kfree(tab); in btf_struct_metas_free()
1839 struct btf_struct_metas *tab = btf->struct_meta_tab; in btf_free_struct_meta_tab() local
1841 btf_struct_metas_free(tab); in btf_free_struct_meta_tab()
1847 struct btf_struct_ops_tab *tab = btf->struct_ops_tab; in btf_free_struct_ops_tab() local
1850 if (!tab) in btf_free_struct_ops_tab()
1853 for (i = 0; i < tab->cnt; i++) in btf_free_struct_ops_tab()
1854 bpf_struct_ops_desc_release(&tab->ops[i]); in btf_free_struct_ops_tab()
1856 kfree(tab); in btf_free_struct_ops_tab()
5692 struct btf_struct_metas *tab = NULL; in btf_parse_struct_metas() local
5778 tab_cnt = tab ? tab->cnt : 0; in btf_parse_struct_metas()
5779 new_tab = krealloc(tab, struct_size(new_tab, types, tab_cnt + 1), in btf_parse_struct_metas()
5785 if (!tab) in btf_parse_struct_metas()
5787 tab = new_tab; in btf_parse_struct_metas()
5789 type = &tab->types[tab->cnt]; in btf_parse_struct_metas()
5800 tab->cnt++; in btf_parse_struct_metas()
5803 return tab; in btf_parse_struct_metas()
5805 btf_struct_metas_free(tab); in btf_parse_struct_metas()
5813 struct btf_struct_metas *tab; in btf_find_struct_meta() local
5816 tab = btf->struct_meta_tab; in btf_find_struct_meta()
5817 if (!tab) in btf_find_struct_meta()
5819 return bsearch(&btf_id, tab->types, tab->cnt, sizeof(tab->types[0]), btf_id_cmp_func); in btf_find_struct_meta()
8675 struct btf_kfunc_set_tab *tab; in btf_populate_kfunc_set() local
8688 tab = btf->kfunc_set_tab; in btf_populate_kfunc_set()
8690 if (tab && add_filter) { in btf_populate_kfunc_set()
8693 hook_filter = &tab->hook_filters[hook]; in btf_populate_kfunc_set()
8707 if (!tab) { in btf_populate_kfunc_set()
8708 tab = kzalloc_obj(*tab, GFP_KERNEL | __GFP_NOWARN); in btf_populate_kfunc_set()
8709 if (!tab) in btf_populate_kfunc_set()
8711 btf->kfunc_set_tab = tab; in btf_populate_kfunc_set()
8714 set = tab->sets[hook]; in btf_populate_kfunc_set()
8746 set = krealloc(tab->sets[hook], in btf_populate_kfunc_set()
8755 if (!tab->sets[hook]) in btf_populate_kfunc_set()
8757 tab->sets[hook] = set; in btf_populate_kfunc_set()
8770 hook_filter = &tab->hook_filters[hook]; in btf_populate_kfunc_set()
8973 struct btf_id_dtor_kfunc_tab *tab = btf->dtor_kfunc_tab; in btf_find_dtor_kfunc() local
8976 if (!tab) in btf_find_dtor_kfunc()
8982 dtor = bsearch(&btf_id, tab->dtors, tab->cnt, sizeof(tab->dtors[0]), btf_id_cmp_func); in btf_find_dtor_kfunc()
9036 struct btf_id_dtor_kfunc_tab *tab; in register_btf_id_dtor_kfuncs() local
9058 tab = btf->dtor_kfunc_tab; in register_btf_id_dtor_kfuncs()
9060 if (WARN_ON_ONCE(tab && btf_is_module(btf))) { in register_btf_id_dtor_kfuncs()
9065 tab_cnt = tab ? tab->cnt : 0; in register_btf_id_dtor_kfuncs()
9076 tab = krealloc(btf->dtor_kfunc_tab, in register_btf_id_dtor_kfuncs()
9077 struct_size(tab, dtors, tab_cnt + add_cnt), in register_btf_id_dtor_kfuncs()
9079 if (!tab) { in register_btf_id_dtor_kfuncs()
9085 tab->cnt = 0; in register_btf_id_dtor_kfuncs()
9086 btf->dtor_kfunc_tab = tab; in register_btf_id_dtor_kfuncs()
9088 memcpy(tab->dtors + tab->cnt, dtors, add_cnt * sizeof(tab->dtors[0])); in register_btf_id_dtor_kfuncs()
9092 tab->dtors[i].btf_id = btf_relocate_id(btf, tab->dtors[i].btf_id); in register_btf_id_dtor_kfuncs()
9093 tab->dtors[i].kfunc_btf_id = btf_relocate_id(btf, tab->dtors[i].kfunc_btf_id); in register_btf_id_dtor_kfuncs()
9096 tab->cnt += add_cnt; in register_btf_id_dtor_kfuncs()
9098 sort(tab->dtors, tab->cnt, sizeof(tab->dtors[0]), btf_id_cmp_func, NULL); in register_btf_id_dtor_kfuncs()
9631 struct btf_struct_ops_tab *tab, *new_tab; in btf_add_struct_ops() local
9634 tab = btf->struct_ops_tab; in btf_add_struct_ops()
9635 if (!tab) { in btf_add_struct_ops()
9636 tab = kzalloc_flex(*tab, ops, 4); in btf_add_struct_ops()
9637 if (!tab) in btf_add_struct_ops()
9639 tab->capacity = 4; in btf_add_struct_ops()
9640 btf->struct_ops_tab = tab; in btf_add_struct_ops()
9643 for (i = 0; i < tab->cnt; i++) in btf_add_struct_ops()
9644 if (tab->ops[i].st_ops == st_ops) in btf_add_struct_ops()
9647 if (tab->cnt == tab->capacity) { in btf_add_struct_ops()
9648 new_tab = krealloc(tab, in btf_add_struct_ops()
9649 struct_size(tab, ops, tab->capacity * 2), in btf_add_struct_ops()
9653 tab = new_tab; in btf_add_struct_ops()
9654 tab->capacity *= 2; in btf_add_struct_ops()
9655 btf->struct_ops_tab = tab; in btf_add_struct_ops()
9658 tab->ops[btf->struct_ops_tab->cnt].st_ops = st_ops; in btf_add_struct_ops()
9660 err = bpf_struct_ops_desc_init(&tab->ops[btf->struct_ops_tab->cnt], btf, log); in btf_add_struct_ops()