• Stanislav Fomichev's avatar
    libbpf: fix libbpf_print · a8a1f7d0
    Stanislav Fomichev authored
    With the recent print rework we now have the following problem:
    pr_{warning,info,debug} expand to __pr which calls libbpf_print.
    libbpf_print does va_start and calls __libbpf_pr with va_list argument.
    In __base_pr we again do va_start. Because the next argument is a
    va_list, we don't get correct pointer to the argument (and print noting
    in my case, I don't know why it doesn't crash tbh).
    
    Fix this by changing libbpf_print_fn_t signature to accept va_list and
    remove unneeded calls to va_start in the existing users.
    
    Alternatively, this can we solved by exporting __libbpf_pr and
    changing __pr macro to (and killing libbpf_print):
    {
    	if (__libbpf_pr)
    		__libbpf_pr(level, "libbpf: " fmt, ##__VA_ARGS__)
    }
    Signed-off-by: default avatarStanislav Fomichev <sdf@google.com>
    Acked-by: default avatarYonghong Song <yhs@fb.com>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    a8a1f7d0
test_progs.c 58.8 KB