Lines Matching refs:cands
5690 void bpf_core_free_cands(struct bpf_core_cand_list *cands) in bpf_core_free_cands() argument
5692 if (!cands) in bpf_core_free_cands()
5695 free(cands->cands); in bpf_core_free_cands()
5696 free(cands); in bpf_core_free_cands()
5704 struct bpf_core_cand_list *cands) in bpf_core_add_cands() argument
5736 new_cands = libbpf_reallocarray(cands->cands, cands->len + 1, in bpf_core_add_cands()
5737 sizeof(*cands->cands)); in bpf_core_add_cands()
5741 cand = &new_cands[cands->len]; in bpf_core_add_cands()
5745 cands->cands = new_cands; in bpf_core_add_cands()
5746 cands->len++; in bpf_core_add_cands()
5851 struct bpf_core_cand_list *cands; in bpf_core_find_cands() local
5869 cands = calloc(1, sizeof(*cands)); in bpf_core_find_cands()
5870 if (!cands) in bpf_core_find_cands()
5875 err = bpf_core_add_cands(&local_cand, local_essent_len, main_btf, "vmlinux", 1, cands); in bpf_core_find_cands()
5880 if (cands->len) in bpf_core_find_cands()
5881 return cands; in bpf_core_find_cands()
5885 return cands; in bpf_core_find_cands()
5897 cands); in bpf_core_find_cands()
5902 return cands; in bpf_core_find_cands()
5904 bpf_core_free_cands(cands); in bpf_core_find_cands()
5991 struct bpf_core_cand_list *cands = NULL; in bpf_core_resolve_relo() local
6007 !hashmap__find(cand_cache, local_id, &cands)) { in bpf_core_resolve_relo()
6008 cands = bpf_core_find_cands(prog->obj, local_btf, local_id); in bpf_core_resolve_relo()
6009 if (IS_ERR(cands)) { in bpf_core_resolve_relo()
6012 local_name, PTR_ERR(cands)); in bpf_core_resolve_relo()
6013 return PTR_ERR(cands); in bpf_core_resolve_relo()
6015 err = hashmap__set(cand_cache, local_id, cands, NULL, NULL); in bpf_core_resolve_relo()
6017 bpf_core_free_cands(cands); in bpf_core_resolve_relo()
6022 return bpf_core_calc_relo_insn(prog_name, relo, relo_idx, local_btf, cands, specs_scratch, in bpf_core_resolve_relo()