On Thu, Nov 7, 2019 at 10:42 PM Alexei Starovoitov <ast@xxxxxxxxxx> wrote: > > Make the verifier check that BTF types of function arguments match actual types > passed into top-level BPF program and into BPF-to-BPF calls. If types match > such BPF programs and sub-programs will have full support of BPF trampoline. If > types mismatch the trampoline has to be conservative. It has to save/restore > all 5 program arguments and assume 64-bit scalars. If FENTRY/FEXIT program is > attached to this program in the future such FENTRY/FEXIT program will be able > to follow pointers only via bpf_probe_read_kernel(). > > Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> > --- Acked-by: Andrii Nakryiko <andriin@xxxxxx> > include/linux/bpf.h | 8 +++ > include/linux/bpf_verifier.h | 1 + > kernel/bpf/btf.c | 117 +++++++++++++++++++++++++++++++++++ > kernel/bpf/syscall.c | 1 + > kernel/bpf/verifier.c | 18 +++++- > 5 files changed, 142 insertions(+), 3 deletions(-) > [...]