selftests/bpf: fix perf_event link info name_len assertion
authorTyrone Wu <wudevelops@gmail.com>
Tue, 8 Oct 2024 16:43:12 +0000 (16:43 +0000)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 10 Oct 2024 01:17:16 +0000 (18:17 -0700)
Fix `name_len` field assertions in `bpf_link_info.perf_event` for
kprobe/uprobe/tracepoint to validate correct name size instead of 0.

Fixes: 23cf7aa539dc ("selftests/bpf: Add selftest for fill_link_info")
Signed-off-by: Tyrone Wu <wudevelops@gmail.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Yafang Shao <laoar.shao@gmail.com>
Link: https://lore.kernel.org/r/20241008164312.46269-2-wudevelops@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/fill_link_info.c

index f393294..745c5ad 100644 (file)
@@ -67,8 +67,9 @@ again:
 
                ASSERT_EQ(info.perf_event.kprobe.cookie, PERF_EVENT_COOKIE, "kprobe_cookie");
 
+               ASSERT_EQ(info.perf_event.kprobe.name_len, strlen(KPROBE_FUNC) + 1,
+                                 "name_len");
                if (!info.perf_event.kprobe.func_name) {
-                       ASSERT_EQ(info.perf_event.kprobe.name_len, 0, "name_len");
                        info.perf_event.kprobe.func_name = ptr_to_u64(&buf);
                        info.perf_event.kprobe.name_len = sizeof(buf);
                        goto again;
@@ -79,8 +80,9 @@ again:
                ASSERT_EQ(err, 0, "cmp_kprobe_func_name");
                break;
        case BPF_PERF_EVENT_TRACEPOINT:
+               ASSERT_EQ(info.perf_event.tracepoint.name_len, strlen(TP_NAME) + 1,
+                                 "name_len");
                if (!info.perf_event.tracepoint.tp_name) {
-                       ASSERT_EQ(info.perf_event.tracepoint.name_len, 0, "name_len");
                        info.perf_event.tracepoint.tp_name = ptr_to_u64(&buf);
                        info.perf_event.tracepoint.name_len = sizeof(buf);
                        goto again;
@@ -96,8 +98,9 @@ again:
        case BPF_PERF_EVENT_URETPROBE:
                ASSERT_EQ(info.perf_event.uprobe.offset, offset, "uprobe_offset");
 
+               ASSERT_EQ(info.perf_event.uprobe.name_len, strlen(UPROBE_FILE) + 1,
+                                 "name_len");
                if (!info.perf_event.uprobe.file_name) {
-                       ASSERT_EQ(info.perf_event.uprobe.name_len, 0, "name_len");
                        info.perf_event.uprobe.file_name = ptr_to_u64(&buf);
                        info.perf_event.uprobe.name_len = sizeof(buf);
                        goto again;