diff options
author | Andrii Nakryiko <andriin@fb.com> | 2020-08-13 23:49:42 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-08-14 02:45:41 +0300 |
commit | 4c01925f583eaa7d9d003dc87a4b75b8140b4ff6 (patch) | |
tree | 86d5cd277a6ebb83aa6dbfb7ab4a950f5cd22a32 /tools | |
parent | eed7818adf03e874994b966aa33bc00204dd275a (diff) | |
download | linux-4c01925f583eaa7d9d003dc87a4b75b8140b4ff6.tar.xz |
libbpf: Enforce 64-bitness of BTF for BPF object files
BPF object files are always targeting 64-bit BPF target architecture, so
enforce that at BTF level as well.
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200813204945.1020225-7-andriin@fb.com
Diffstat (limited to 'tools')
-rw-r--r-- | tools/lib/bpf/libbpf.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 6accddaaedab..5d20b2da4427 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -2434,6 +2434,8 @@ static int bpf_object__init_btf(struct bpf_object *obj, BTF_ELF_SEC, err); goto out; } + /* enforce 8-byte pointers for BPF-targeted BTFs */ + btf__set_pointer_size(obj->btf, 8); err = 0; } if (btf_ext_data) { @@ -2542,6 +2544,8 @@ static int bpf_object__sanitize_and_load_btf(struct bpf_object *obj) if (IS_ERR(kern_btf)) return PTR_ERR(kern_btf); + /* enforce 8-byte pointers for BPF-targeted BTFs */ + btf__set_pointer_size(obj->btf, 8); bpf_object__sanitize_btf(obj, kern_btf); } |