bpftool: Remove BPF_OBJ_NAME_LEN restriction when looking up bpf program by name
authorManu Bretelle <chantr4@gmail.com>
Mon, 1 Aug 2022 13:24:09 +0000 (06:24 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 4 Aug 2022 21:41:13 +0000 (14:41 -0700)
commitd55dfe587bc0670f90564a962615723fe7749ab1
tree76aa182f0fc5ad10a90b8c74ed9021c1690ac09d
parent3045f42a64324d339125a8a1a1763bb9e1e08300
bpftool: Remove BPF_OBJ_NAME_LEN restriction when looking up bpf program by name

bpftool was limiting the length of names to BPF_OBJ_NAME_LEN in prog_parse
fds.

Since commit b662000aff84 ("bpftool: Adding support for BTF program names")
we can get the full program name from BTF.

This patch removes the restriction of name length when running `bpftool
prog show name ${name}`.

Test:
Tested against some internal program names that were longer than
`BPF_OBJ_NAME_LEN`, here a redacted example of what was ran to test.

    # previous behaviour
    $ sudo bpftool prog show name some_long_program_name
    Error: can't parse name
    # with the patch
    $ sudo ./bpftool prog show name some_long_program_name
    123456789: tracing  name some_long_program_name  tag taghexa  gpl ....
    ...
    ...
    ...
    # too long
    sudo ./bpftool prog show name $(python3 -c 'print("A"*128)')
    Error: can't parse name
    # not too long but no match
    $ sudo ./bpftool prog show name $(python3 -c 'print("A"*127)')

Signed-off-by: Manu Bretelle <chantr4@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Jiri Olsa <jolsa@kernel.org>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Link: https://lore.kernel.org/bpf/20220801132409.4147849-1-chantr4@gmail.com
tools/bpf/bpftool/common.c