Lines Matching refs:cands
5585 void bpf_core_free_cands(struct bpf_core_cand_list *cands) in bpf_core_free_cands() argument
5587 if (!cands) in bpf_core_free_cands()
5590 free(cands->cands); in bpf_core_free_cands()
5591 free(cands); in bpf_core_free_cands()
5599 struct bpf_core_cand_list *cands) in bpf_core_add_cands() argument
5631 new_cands = libbpf_reallocarray(cands->cands, cands->len + 1, in bpf_core_add_cands()
5632 sizeof(*cands->cands)); in bpf_core_add_cands()
5636 cand = &new_cands[cands->len]; in bpf_core_add_cands()
5640 cands->cands = new_cands; in bpf_core_add_cands()
5641 cands->len++; in bpf_core_add_cands()
5746 struct bpf_core_cand_list *cands; in bpf_core_find_cands() local
5764 cands = calloc(1, sizeof(*cands)); in bpf_core_find_cands()
5765 if (!cands) in bpf_core_find_cands()
5770 err = bpf_core_add_cands(&local_cand, local_essent_len, main_btf, "vmlinux", 1, cands); in bpf_core_find_cands()
5775 if (cands->len) in bpf_core_find_cands()
5776 return cands; in bpf_core_find_cands()
5780 return cands; in bpf_core_find_cands()
5792 cands); in bpf_core_find_cands()
5797 return cands; in bpf_core_find_cands()
5799 bpf_core_free_cands(cands); in bpf_core_find_cands()
5886 struct bpf_core_cand_list *cands = NULL; in bpf_core_resolve_relo() local
5902 !hashmap__find(cand_cache, local_id, &cands)) { in bpf_core_resolve_relo()
5903 cands = bpf_core_find_cands(prog->obj, local_btf, local_id); in bpf_core_resolve_relo()
5904 if (IS_ERR(cands)) { in bpf_core_resolve_relo()
5907 local_name, PTR_ERR(cands)); in bpf_core_resolve_relo()
5908 return PTR_ERR(cands); in bpf_core_resolve_relo()
5910 err = hashmap__set(cand_cache, local_id, cands, NULL, NULL); in bpf_core_resolve_relo()
5912 bpf_core_free_cands(cands); in bpf_core_resolve_relo()
5917 return bpf_core_calc_relo_insn(prog_name, relo, relo_idx, local_btf, cands, specs_scratch, in bpf_core_resolve_relo()