• Martin KaFai Lau's avatar
    bpf: Add bpf_verifier_vlog() and bpf_verifier_log_needed() · 77d2e05a
    Martin KaFai Lau authored
    The BTF (BPF Type Format) verifier needs to reuse the current
    BPF verifier log.  Hence, it requires the following changes:
    
    (1) Expose log_write() in verifier.c for other users.
        Its name is renamed to bpf_verifier_vlog().
    
    (2) The BTF verifier also needs to check
    'log->level && log->ubuf && !bpf_verifier_log_full(log);'
    independently outside of the current log_write().  It is
    because the BTF verifier will do one-check before
    making multiple calls to btf_verifier_vlog to log
    the details of a type.
    
    Hence, this check is also re-factored to a new function
    bpf_verifier_log_needed().  Since it is re-factored,
    we can check it before va_start() in the current
    bpf_verifier_log_write() and verbose().
    Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Acked-by: default avatarAlexei Starovoitov <ast@fb.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    77d2e05a
verifier.c 167 KB