On Wed, 2024-09-18 at 19:33 +0000, Ihor Solodrai wrote: > Reduce log level of BTF loading error to INFO if BTF is not required. > > Suggested-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > Signed-off-by: Ihor Solodrai <ihor.solodrai@xxxxx> > --- fwiw, I took verifier_bswap.bpf.o and replaced .BTF section with empty one inside it: for s in .BTF .rel.BTF .BTF.ext .rel.BTF.ext; do objcopy --remove-section $s verifier_bswap.bpf.o; done touch empty objcopy --add-section .BTF=empty verifier_bswap.bpf.o And modified veristat to show log level for libbpf messages: --- a/tools/testing/selftests/bpf/veristat.c +++ b/tools/testing/selftests/bpf/veristat.c @@ -187,6 +187,7 @@ static int libbpf_print_fn(enum libbpf_print_level level, const char *format, va return 0; if (level == LIBBPF_DEBUG && !env.debug) return 0; + fprintf(stderr, "%d: ", level); return vfprintf(stderr, format, args); } And here is the output for veristat loading modified verifier_bswap.bpf.o: ./veristat -d /home/eddy/work/tmp/verifier_bswap.bpf.o -f bswap_16 PROCESSING /home/eddy/work/tmp/verifier_bswap.bpf.o/bswap_16, DURATION US: 26, VERDICT: success, VERIFIER LOG: verification time 26 usec stack depth 0 processed 3 insns (limit 1000000) max_states_per_insn 0 total_states 0 peak_states 0 mark_read 0 2: libbpf: loading object from /home/eddy/work/tmp/verifier_bswap.bpf.o 2: libbpf: elf: section(2) socket, size 80, link 0, flags 6, type=1 2: libbpf: sec 'socket': found program 'bswap_16' at insn offset 0 (0 bytes), code size 3 insns (24 bytes) 2: libbpf: sec 'socket': found program 'bswap_32' at insn offset 3 (24 bytes), code size 3 insns (24 bytes) 2: libbpf: sec 'socket': found program 'bswap_64' at insn offset 6 (48 bytes), code size 4 insns (32 bytes) 2: libbpf: elf: section(3) license, size 4, link 0, flags 3, type=1 2: libbpf: license of /home/eddy/work/tmp/verifier_bswap.bpf.o is GPL 2: libbpf: elf: section(18) .BTF, size 0, link 0, flags 0, type=1 2: libbpf: elf: section(19) .symtab, size 336, link 20, flags 0, type=2 2: libbpf: BTF header not found 0: libbpf: Error loading ELF section .BTF: -22. ... Note the log level is 0 which corresponds to LIBBPF_WARN. So, if the goal is to move all optional invalid BTF messages to info level there are probably a few more places to modify.