From: Alexei Starovoitov Date: Wed, 1 Dec 2021 18:10:29 +0000 (-0800) Subject: bpf: Adjust BTF log size limit. X-Git-Tag: v5.17-rc1~170^2~228^2~20^2~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c5a2d43e998a821701029f23e25b62f9188e93ff;p=thirdparty%2Fkernel%2Flinux.git bpf: Adjust BTF log size limit. 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 Signed-off-by: Andrii Nakryiko Link: https://lore.kernel.org/bpf/20211201181040.23337-7-alexei.starovoitov@gmail.com --- diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c index 0d070461e2b8d..dbf1f389b1d3d 100644 --- a/kernel/bpf/btf.c +++ b/kernel/bpf/btf.c @@ -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;