Re: [PATCH v5 bpf-next 0/3] libbpf: Fix event name too long error and add tests
From: Jiri Olsa
Date: Thu Apr 17 2025 - 07:16:25 EST
On Thu, Apr 17, 2025 at 09:48:45AM +0800, Feng Yang wrote:
> From: Feng Yang <yangfeng@xxxxxxxxxx>
>
> Hi everyone,
>
> This series tries to fix event name too long error and add tests.
>
> When the binary path is excessively long, the generated probe_name in libbpf
> exceeds the kernel's MAX_EVENT_NAME_LEN limit (64 bytes).
> This causes legacy uprobe event attachment to fail with error code -22.
>
> The fix reorders the fields to place the unique ID before the name.
> This ensures that even if truncation occurs via snprintf, the unique ID
> remains intact, preserving event name uniqueness. Additionally, explicit
> checks with MAX_EVENT_NAME_LEN are added to enforce length constraints.
> ---
> Changes in v5:
> - use strrchr instead of basename.
> - kprobe_test add __weak. Thanks, Andrii Nakryiko!
> - Link to v4: https://lore.kernel.org/all/20250415093907.280501-1-yangfeng59949@xxxxxxx/
Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx>
thanks,
jirka
>
> Changes in v4:
> - add changelog.
> - gen_uprobe_legacy_event_name and gen_kprobe_legacy_event_name are combined into a function
> - kprobe_test use normal module function. Thanks, Jiri Olsa!
> - Link to v3: https://lore.kernel.org/bpf/20250414093402.384872-1-yangfeng59949@xxxxxxx/
>
> Changes in v3:
> - add __sync_fetch_and_add(&index) and let snprintf() do the trimming. Thanks, Andrii Nakryiko!
> - add selftests.
> - Link to v2: https://lore.kernel.org/all/20250411080545.319865-1-yangfeng59949@xxxxxxx/
>
> Changes in v2:
> - Use basename() and %.32s to fix. Thanks, Hengqi Chen!
> - Link to v1: https://lore.kernel.org/all/20250410052712.206785-1-yangfeng59949@xxxxxxx/
>
> Feng Yang (3):
> libbpf: Fix event name too long error
> selftests/bpf: Add test for attaching uprobe with long event names
> selftests/bpf: Add test for attaching kprobe with long event names
>
> tools/lib/bpf/libbpf.c | 43 ++++------
> .../selftests/bpf/prog_tests/attach_probe.c | 84 +++++++++++++++++++
> .../selftests/bpf/test_kmods/bpf_testmod.c | 4 +
> 3 files changed, 104 insertions(+), 27 deletions(-)
>
> --
> 2.43.0
>