summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorAndrii Nakryiko <andrii@kernel.org>2021-01-09 23:03:40 -0800
committerDaniel Borkmann <daniel@iogearbox.net>2021-01-12 21:11:30 +0100
commitbcc5e6162d66d44f7929f30fce032f95855fc8b4 (patch)
tree113f20d0f937679d41cc01f996b67f0bbf30b0e1 /kernel
parent4be34f3d0731b38a1b24566b37fbb39500aaf3a2 (diff)
downloadlwn-bcc5e6162d66d44f7929f30fce032f95855fc8b4.tar.gz
lwn-bcc5e6162d66d44f7929f30fce032f95855fc8b4.zip
bpf: Allow empty module BTFs
Some modules don't declare any new types and end up with an empty BTF, containing only valid BTF header and no types or strings sections. This currently causes BTF validation error. There is nothing wrong with such BTF, so fix the issue by allowing module BTFs with no types or strings. Fixes: 36e68442d1af ("bpf: Load and verify kernel module BTFs") Reported-by: Christopher William Snowhill <chris@kode54.net> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Yonghong Song <yhs@fb.com> Link: https://lore.kernel.org/bpf/20210110070341.1380086-1-andrii@kernel.org
Diffstat (limited to 'kernel')
-rw-r--r--kernel/bpf/btf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index 8d6bdb4f4d61..84a36ee4a4c2 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -4172,7 +4172,7 @@ static int btf_parse_hdr(struct btf_verifier_env *env)
return -ENOTSUPP;
}
- if (btf_data_size == hdr->hdr_len) {
+ if (!btf->base_btf && btf_data_size == hdr->hdr_len) {
btf_verifier_log(env, "No data");
return -EINVAL;
}