bpf: Adjust BTF log size limit.
authorAlexei Starovoitov <ast@kernel.org>
Wed, 1 Dec 2021 18:10:29 +0000 (10:10 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 10:03:27 +0000 (11:03 +0100)
[ Upstream commit c5a2d43e998a821701029f23e25b62f9188e93ff ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/bpf/btf.c

index dfe61df4f974d113fa216bddc7b206d6a7cbccab..79c0bcdcab842ec4f19977a617c57b993c097de4 100644 (file)
@@ -4332,7 +4332,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;