bpf: Adjust BTF log size limit.
authorAlexei Starovoitov <ast@kernel.org>
Wed, 1 Dec 2021 18:10:29 +0000 (10:10 -0800)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 2 Dec 2021 19:18:35 +0000 (11:18 -0800)
Make BTF log size limit to be the same as the verifier log size limit.
Otherwise tools that progressively increase log size and use the same log
for BTF loading and program loading will be hitting hard to debug EINVAL.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20211201181040.23337-7-alexei.starovoitov@gmail.com
kernel/bpf/btf.c

index 0d070461e2b8d5e1b0be8e2b54febf780ff5dafb..dbf1f389b1d3dd5861dacbe94d8af7027d5ab4cc 100644 (file)
@@ -4472,7 +4472,7 @@ static struct btf *btf_parse(bpfptr_t btf_data, u32 btf_data_size,
                log->len_total = log_size;
 
                /* log attributes have to be sane */
-               if (log->len_total < 128 || log->len_total > UINT_MAX >> 8 ||
+               if (log->len_total < 128 || log->len_total > UINT_MAX >> 2 ||
                    !log->level || !log->ubuf) {
                        err = -EINVAL;
                        goto errout;