]> git.baikalelectronics.ru Git - kernel.git/commit
libbpf: Fix overflow in BTF sanity checks
authorAndrii Nakryiko <andrii@kernel.org>
Sat, 23 Oct 2021 00:31:56 +0000 (17:31 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 23 Oct 2021 00:33:31 +0000 (17:33 -0700)
commitbc5a1633fb3665e3f507f38b4f95d894222722c3
tree62ded1edf9df0e669f175a35d0a8f3633f82d11b
parent425df2798a3b4b15107f30352519eddbc19c6937
libbpf: Fix overflow in BTF sanity checks

btf_header's str_off+str_len or type_off+type_len can overflow as they
are u32s. This will lead to bypassing the sanity checks during BTF
parsing, resulting in crashes afterwards. Fix by using 64-bit signed
integers for comparison.

Fixes: 3de9600112a2 ("libbpf: Fix BTF data layout checks and allow empty BTF")
Reported-by: Evgeny Vereshchagin <evvers@ya.ru>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20211023003157.726961-1-andrii@kernel.org
tools/lib/bpf/btf.c