• Wang Nan's avatar
    perf bpf: Mute libbpf when '-v' not set · 7a011946
    Wang Nan authored
    According to [1], libbpf should be muted. This patch reset info and
    warning message level to ensure libbpf doesn't output anything even
    if error happened.
    
    [1] http://lkml.kernel.org/r/20151020151255.GF5119@kernel.org
    
    Committer note:
    
    Before:
    
    Testing it with an incompatible kernel version in the .c file that
    generated foo.o:
    
      [root@zoo ~]# perf record -e /tmp/foo.o sleep 1
      libbpf: load bpf program failed: Invalid argument
      libbpf: -- BEGIN DUMP LOG ---
      libbpf:
    
      libbpf: -- END LOG --
      libbpf: failed to load program 'fork=_do_fork'
      libbpf: failed to load object '/tmp/foo.o'
      event syntax error: '/tmp/foo.o'
                           \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel?
    
      (add -v to see detail)
      Run 'perf list' for a list of valid events
    
       Usage: perf record [<options>] [<command>]
          or: perf record [<options>] -- <command> [<options>]
    
          -e, --event <event>   event selector. use 'perf list' to list available events
      [root@zoo ~]#
    
    After:
    
      [root@zoo ~]# perf record -e /tmp/foo.o sleep 1
      event syntax error: '/tmp/foo.o'
                           \___ Invalid argument: Are you root and runing a CONFIG_BPF_SYSCALL kernel?
    
      (add -v to see detail)
      Run 'perf list' for a list of valid events
    
       Usage: perf record [<options>] [<command>]
          or: perf record [<options>] -- <command> [<options>]
    
          -e, --event <event>   event selector. use 'perf list' to list available events
      [root@zoo ~]#
    
    This, BTW, need fixing to emit a proper message by validating the
    version in the foo.o "version" ELF section against the running kernel,
    warning the user instead of asking the kernel to load a binary that it
    will refuse due to unmatching kernel version.
    Signed-off-by: default avatarWang Nan <wangnan0@huawei.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1446547486-229499-3-git-send-email-wangnan0@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    7a011946
bpf-loader.c 7.31 KB