bpf: Simplify internal verifier log interface
authorAndrii Nakryiko <andrii@kernel.org>
Thu, 6 Apr 2023 23:41:59 +0000 (16:41 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 11 Apr 2023 16:05:44 +0000 (18:05 +0200)
commitbdcab4144f5da97cc0fa7e1dd63b8475e10c8f0a
treebee6d65b08664ac39e3134dce4d0b0621cf65844
parent47a71c1f9af0a334c9dfa97633c41de4feda4287
bpf: Simplify internal verifier log interface

Simplify internal verifier log API down to bpf_vlog_init() and
bpf_vlog_finalize(). The former handles input arguments validation in
one place and makes it easier to change it. The latter subsumes -ENOSPC
(truncation) and -EFAULT handling and simplifies both caller's code
(bpf_check() and btf_parse()).

For btf_parse(), this patch also makes sure that verifier log
finalization happens even if there is some error condition during BTF
verification process prior to normal finalization step.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Lorenz Bauer <lmb@isovalent.com>
Link: https://lore.kernel.org/bpf/20230406234205.323208-14-andrii@kernel.org
include/linux/bpf_verifier.h
kernel/bpf/btf.c
kernel/bpf/log.c
kernel/bpf/verifier.c