• Arnaldo Carvalho de Melo's avatar
    perf lzma: Convert some pr_err() to pr_debug() as callers already use pr_debug() · 7a46404b
    Arnaldo Carvalho de Melo authored
    I noticed some error with:
    
      # perf list ex_ret_brn
      lzma: fopen failed on /usr/lib/modules/5.15.14-100.fc34.x86_64/kernel/net/bluetooth/bnep/bnep.ko.xz: 'No such file or directory'
      lzma: fopen failed on /usr/lib/modules/5.16.16-200.fc35.x86_64/kernel/drivers/gpu/drm/drm_kms_helper.ko.xz: 'No such file or directory'
      lzma: fopen failed on /usr/lib/modules/5.18.16-200.fc36.x86_64/kernel/arch/x86/crypto/crct10dif-pclmul.ko.xz: 'No such file or directory'
      lzma: fopen failed on /usr/lib/modules/5.16.16-200.fc35.x86_64/kernel/drivers/i2c/busses/i2c-piix4.ko.xz: 'No such file or directory'
      <BIG SNIP>
    
    Then using 'perf probe' + 'perf trace' to debug 'perf list', it seems
    its some inconsistency in the ~/.debug/ cache where broken build id
    symlinks that ends up making it try to uncompress some kernel modules
    using the lzma routines:
    
       395.309 perf/3594447 probe_perf:lzma_decompress_to_file(__probe_ip: 6118448, input_string: "/usr/lib/modules/5.18.17-200.fc36.x86_64/kernel/drivers/nvme/host/nvme.ko.xz")
                                           lzma_decompress_to_file (/var/home/acme/bin/perf)
                                           filename__decompress (/var/home/acme/bin/perf)
                                           filename__read_build_id (/var/home/acme/bin/perf)
                                           filename__sprintf_build_id (inlined)
                                           build_id_cache__valid_id (inlined)
                                           build_id_cache__list_all (/var/home/acme/bin/perf)
                                           print_sdt_events (/var/home/acme/bin/perf)
                                           cmd_list (/var/home/acme/bin/perf)
                                           run_builtin (/var/home/acme/bin/perf)
                                           handle_internal_command (inlined)
                                           run_argv (inlined)
                                           main (/var/home/acme/bin/perf)
                                           __libc_start_call_main (/usr/lib64/libc.so.6)
                                           __libc_start_main@@GLIBC_2.34 (/usr/lib64/libc.so.6)
                                           _start (/var/home/acme/bin/perf)
    
    But callers of filename__decompress() already check its return and use
    pr_debug(), so be consistent and make functions it calls also use
    pr_debug().
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: https://lore.kernel.org/lkml/ZOUD0+GkuCVkYF7n@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    7a46404b
lzma.c 2.64 KB