]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
perf bpf: Show better message when failing to load an object
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 31 Jul 2018 14:58:57 +0000 (11:58 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 31 Jul 2018 14:58:57 +0000 (11:58 -0300)
Before:

  libbpf: license of tools/perf/examples/bpf/etcsnoop.c is GPL
  libbpf: section(6) version, size 4, link 0, flags 3, type=1
  libbpf: kernel version of tools/perf/examples/bpf/etcsnoop.c is 41200
  libbpf: section(7) .symtab, size 120, link 1, flags 0, type=2
  bpf: config program 'syscalls:sys_enter_openat'
  libbpf: load bpf program failed: Operation not permitted
  libbpf: failed to load program 'syscalls:sys_enter_openat'
  libbpf: failed to load object 'tools/perf/examples/bpf/etcsnoop.c'
  bpf: load objects failed

After: (just the last line changes)

  bpf: load objects failed: err=-4009: (Incorrect kernel version)

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: https://lkml.kernel.org/n/tip-wi44iid0yjfht3lcvplc75fm@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/bpf-loader.c

index cee658733e2c560f0a1b07a39465b5d80c737f31..3d02ae38ec561279bfd7fb07a2314058ad9345ce 100644 (file)
@@ -747,7 +747,9 @@ int bpf__load(struct bpf_object *obj)
 
        err = bpf_object__load(obj);
        if (err) {
-               pr_debug("bpf: load objects failed\n");
+               char bf[128];
+               libbpf_strerror(err, bf, sizeof(bf));
+               pr_debug("bpf: load objects failed: err=%d: (%s)\n", err, bf);
                return err;
        }
        return 0;