Commit 8de6cae4 authored by Mauricio Vásquez's avatar Mauricio Vásquez Committed by Andrii Nakryiko

libbpf: Expose bpf_core_{add,free}_cands() to bpftool

Expose bpf_core_add_cands() and bpf_core_free_cands() to handle
candidates list.
Signed-off-by: default avatarMauricio Vásquez <mauricio@kinvolk.io>
Signed-off-by: default avatarRafael David Tinoco <rafael.tinoco@aquasec.com>
Signed-off-by: default avatarLorenzo Fontana <lorenzo.fontana@elastic.co>
Signed-off-by: default avatarLeonardo Di Donato <leonardo.didonato@elastic.co>
Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Acked-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220215225856.671072-3-mauricio@kinvolk.io
parent adb8fa19
...@@ -5192,18 +5192,21 @@ size_t bpf_core_essential_name_len(const char *name) ...@@ -5192,18 +5192,21 @@ size_t bpf_core_essential_name_len(const char *name)
return n; return n;
} }
static void bpf_core_free_cands(struct bpf_core_cand_list *cands) void bpf_core_free_cands(struct bpf_core_cand_list *cands)
{ {
if (!cands)
return;
free(cands->cands); free(cands->cands);
free(cands); free(cands);
} }
static int bpf_core_add_cands(struct bpf_core_cand *local_cand, int bpf_core_add_cands(struct bpf_core_cand *local_cand,
size_t local_essent_len, size_t local_essent_len,
const struct btf *targ_btf, const struct btf *targ_btf,
const char *targ_btf_name, const char *targ_btf_name,
int targ_start_id, int targ_start_id,
struct bpf_core_cand_list *cands) struct bpf_core_cand_list *cands)
{ {
struct bpf_core_cand *new_cands, *cand; struct bpf_core_cand *new_cands, *cand;
const struct btf_type *t, *local_t; const struct btf_type *t, *local_t;
......
...@@ -529,4 +529,13 @@ static inline int ensure_good_fd(int fd) ...@@ -529,4 +529,13 @@ static inline int ensure_good_fd(int fd)
return fd; return fd;
} }
/* The following two functions are exposed to bpftool */
int bpf_core_add_cands(struct bpf_core_cand *local_cand,
size_t local_essent_len,
const struct btf *targ_btf,
const char *targ_btf_name,
int targ_start_id,
struct bpf_core_cand_list *cands);
void bpf_core_free_cands(struct bpf_core_cand_list *cands);
#endif /* __LIBBPF_LIBBPF_INTERNAL_H */ #endif /* __LIBBPF_LIBBPF_INTERNAL_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment