From: Yonghong Song Date: Fri, 25 Jan 2019 00:41:07 +0000 (-0800) Subject: bpf: add btf func and func_proto kind support X-Git-Tag: v5.0.0~22 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=3da6d055d93fefe40bf88a9bc37b4ce3433696ee;p=mirror_iproute2.git bpf: add btf func and func_proto kind support The issue is discovered for bpf selftest test_skb_cgroup.sh. Currently we have, $ ./test_skb_cgroup_id.sh Wait for testing link-local IP to become available ... OK Object has unknown BTF type: 13! [PASS] In the above the BTF type 13 refers to BTF kind BTF_KIND_FUNC_PROTO. This patch added support of BTF_KIND_FUNC_PROTO and BTF_KIND_FUNC during type parsing. With this patch, I got $ ./test_skb_cgroup_id.sh Wait for testing link-local IP to become available ... OK [PASS] Signed-off-by: Yonghong Song Acked-by: Daniel Borkmann Signed-off-by: Stephen Hemminger --- diff --git a/lib/bpf.c b/lib/bpf.c index 5e85cfc0..762f8857 100644 --- a/lib/bpf.c +++ b/lib/bpf.c @@ -2193,12 +2193,16 @@ static int bpf_btf_prep_type_data(struct bpf_elf_ctx *ctx) case BTF_KIND_ENUM: type_cur += var_len * sizeof(struct btf_enum); break; + case BTF_KIND_FUNC_PROTO: + type_cur += var_len * sizeof(struct btf_param); + break; case BTF_KIND_TYPEDEF: case BTF_KIND_PTR: case BTF_KIND_FWD: case BTF_KIND_VOLATILE: case BTF_KIND_CONST: case BTF_KIND_RESTRICT: + case BTF_KIND_FUNC: break; default: fprintf(stderr, "Object has unknown BTF type: %u!\n", kind);