libbpf: Reduce log level for custom section names
authorAndrii Nakryiko <andriin@fb.com>
Tue, 17 Dec 2019 23:42:28 +0000 (15:42 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 18 Dec 2019 02:38:35 +0000 (18:38 -0800)
Libbpf is trying to recognize BPF program type based on its section name
during bpf_object__open() phase. This is not strictly enforced and user code
has ability to specify/override correct BPF program type after open.  But if
BPF program is using custom section name, libbpf will still emit warnings,
which can be quite annoying to users. This patch reduces log level of
information messages emitted by libbpf if section name is not canonical. User
can still get a list of all supported section names as debug-level message.

Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20191217234228.1739308-1-andriin@fb.com
tools/lib/bpf/libbpf.c

index 3fe42d6..906bbbf 100644 (file)
@@ -5883,7 +5883,7 @@ int libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type,
                return 0;
        }
 
-       pr_warn("failed to guess program type from ELF section '%s'\n", name);
+       pr_debug("failed to guess program type from ELF section '%s'\n", name);
        type_names = libbpf_get_type_names(false);
        if (type_names != NULL) {
                pr_debug("supported section(type) names are:%s\n", type_names);
@@ -6001,10 +6001,10 @@ int libbpf_attach_type_by_name(const char *name,
                *attach_type = section_defs[i].attach_type;
                return 0;
        }
-       pr_warn("failed to guess attach type based on ELF section name '%s'\n", name);
+       pr_debug("failed to guess attach type based on ELF section name '%s'\n", name);
        type_names = libbpf_get_type_names(true);
        if (type_names != NULL) {
-               pr_info("attachable section(type) names are:%s\n", type_names);
+               pr_debug("attachable section(type) names are:%s\n", type_names);
                free(type_names);
        }