Lines Matching full:tab

1685 	struct btf_kfunc_set_tab *tab = btf->kfunc_set_tab;
1688 if (!tab)
1690 for (hook = 0; hook < ARRAY_SIZE(tab->sets); hook++)
1691 kfree(tab->sets[hook]);
1692 kfree(tab);
1698 struct btf_id_dtor_kfunc_tab *tab = btf->dtor_kfunc_tab;
1700 if (!tab)
1702 kfree(tab);
1706 static void btf_struct_metas_free(struct btf_struct_metas *tab)
1710 if (!tab)
1712 for (i = 0; i < tab->cnt; i++)
1713 btf_record_free(tab->types[i].record);
1714 kfree(tab);
1719 struct btf_struct_metas *tab = btf->struct_meta_tab;
1721 btf_struct_metas_free(tab);
1727 struct btf_struct_ops_tab *tab = btf->struct_ops_tab;
1730 if (!tab)
1733 for (i = 0; i < tab->cnt; i++)
1734 bpf_struct_ops_desc_release(&tab->ops[i]);
1736 kfree(tab);
5571 struct btf_struct_metas *tab = NULL;
5657 tab_cnt = tab ? tab->cnt : 0;
5658 new_tab = krealloc(tab, struct_size(new_tab, types, tab_cnt + 1),
5664 if (!tab)
5666 tab = new_tab;
5668 type = &tab->types[tab->cnt];
5679 tab->cnt++;
5682 return tab;
5684 btf_struct_metas_free(tab);
5692 struct btf_struct_metas *tab;
5695 tab = btf->struct_meta_tab;
5696 if (!tab)
5698 return bsearch(&btf_id, tab->types, tab->cnt, sizeof(tab->types[0]), btf_id_cmp_func);
8539 struct btf_kfunc_set_tab *tab;
8552 tab = btf->kfunc_set_tab;
8554 if (tab && add_filter) {
8557 hook_filter = &tab->hook_filters[hook];
8571 if (!tab) {
8572 tab = kzalloc(sizeof(*tab), GFP_KERNEL | __GFP_NOWARN);
8573 if (!tab)
8575 btf->kfunc_set_tab = tab;
8578 set = tab->sets[hook];
8610 set = krealloc(tab->sets[hook],
8619 if (!tab->sets[hook])
8621 tab->sets[hook] = set;
8634 hook_filter = &tab->hook_filters[hook];
8800 struct btf_id_dtor_kfunc_tab *tab = btf->dtor_kfunc_tab;
8803 if (!tab)
8805 /* Even though the size of tab->dtors[0] is > sizeof(u32), we only need
8809 dtor = bsearch(&btf_id, tab->dtors, tab->cnt, sizeof(tab->dtors[0]), btf_id_cmp_func);
8856 struct btf_id_dtor_kfunc_tab *tab;
8878 tab = btf->dtor_kfunc_tab;
8880 if (WARN_ON_ONCE(tab && btf_is_module(btf))) {
8885 tab_cnt = tab ? tab->cnt : 0;
8896 tab = krealloc(btf->dtor_kfunc_tab,
8897 struct_size(tab, dtors, tab_cnt + add_cnt),
8899 if (!tab) {
8905 tab->cnt = 0;
8906 btf->dtor_kfunc_tab = tab;
8908 memcpy(tab->dtors + tab->cnt, dtors, add_cnt * sizeof(tab->dtors[0]));
8912 tab->dtors[i].btf_id = btf_relocate_id(btf, tab->dtors[i].btf_id);
8913 tab->dtors[i].kfunc_btf_id = btf_relocate_id(btf, tab->dtors[i].kfunc_btf_id);
8916 tab->cnt += add_cnt;
8918 sort(tab->dtors, tab->cnt, sizeof(tab->dtors[0]), btf_id_cmp_func, NULL);
9450 struct btf_struct_ops_tab *tab, *new_tab;
9453 tab = btf->struct_ops_tab;
9454 if (!tab) {
9455 tab = kzalloc(struct_size(tab, ops, 4), GFP_KERNEL);
9456 if (!tab)
9458 tab->capacity = 4;
9459 btf->struct_ops_tab = tab;
9462 for (i = 0; i < tab->cnt; i++)
9463 if (tab->ops[i].st_ops == st_ops)
9466 if (tab->cnt == tab->capacity) {
9467 new_tab = krealloc(tab,
9468 struct_size(tab, ops, tab->capacity * 2),
9472 tab = new_tab;
9473 tab->capacity *= 2;
9474 btf->struct_ops_tab = tab;
9477 tab->ops[btf->struct_ops_tab->cnt].st_ops = st_ops;
9479 err = bpf_struct_ops_desc_init(&tab->ops[btf->struct_ops_tab->cnt], btf, log);