Lines Matching full:info

41 	struct bpf_link_info info;
42 __u32 len = sizeof(info);
46 memset(&info, 0, sizeof(info));
50 err = bpf_link_get_info_by_fd(fd, &info, &len);
54 if (!ASSERT_EQ(info.type, BPF_LINK_TYPE_PERF_EVENT, "link_type"))
56 if (!ASSERT_EQ(info.perf_event.type, type, "perf_type_match"))
59 switch (info.perf_event.type) {
62 ASSERT_EQ(info.perf_event.kprobe.offset, offset, "kprobe_offset");
66 ASSERT_EQ(info.perf_event.kprobe.addr, addr + entry_offset,
69 ASSERT_EQ(info.perf_event.kprobe.cookie, PERF_EVENT_COOKIE, "kprobe_cookie");
71 ASSERT_EQ(info.perf_event.kprobe.name_len, strlen(KPROBE_FUNC) + 1,
73 if (!info.perf_event.kprobe.func_name) {
74 info.perf_event.kprobe.func_name = ptr_to_u64(&buf);
75 info.perf_event.kprobe.name_len = sizeof(buf);
79 err = strncmp(u64_to_ptr(info.perf_event.kprobe.func_name), KPROBE_FUNC,
84 ASSERT_EQ(info.perf_event.tracepoint.name_len, strlen(TP_NAME) + 1,
86 if (!info.perf_event.tracepoint.tp_name) {
87 info.perf_event.tracepoint.tp_name = ptr_to_u64(&buf);
88 info.perf_event.tracepoint.name_len = sizeof(buf);
92 ASSERT_EQ(info.perf_event.tracepoint.cookie, PERF_EVENT_COOKIE, "tracepoint_cookie");
94 err = strncmp(u64_to_ptr(info.perf_event.tracepoint.tp_name), TP_NAME,
100 ASSERT_EQ(info.perf_event.uprobe.offset, offset, "uprobe_offset");
101 ASSERT_EQ(info.perf_event.uprobe.ref_ctr_offset, ref_ctr_offset, "uprobe_ref_ctr_offset");
103 ASSERT_EQ(info.perf_event.uprobe.name_len, strlen(UPROBE_FILE) + 1,
105 if (!info.perf_event.uprobe.file_name) {
106 info.perf_event.uprobe.file_name = ptr_to_u64(&buf);
107 info.perf_event.uprobe.name_len = sizeof(buf);
111 ASSERT_EQ(info.perf_event.uprobe.cookie, PERF_EVENT_COOKIE, "uprobe_cookie");
113 err = strncmp(u64_to_ptr(info.perf_event.uprobe.file_name), UPROBE_FILE,
118 ASSERT_EQ(info.perf_event.event.type, PERF_TYPE_SOFTWARE, "event_type");
119 ASSERT_EQ(info.perf_event.event.config, PERF_COUNT_SW_PAGE_FAULTS, "event_config");
120 ASSERT_EQ(info.perf_event.event.cookie, PERF_EVENT_COOKIE, "event_cookie");
131 struct bpf_link_info info;
132 __u32 len = sizeof(info);
135 memset(&info, 0, sizeof(info));
137 info.perf_event.kprobe.func_name = 0x1; /* invalid address */
138 err = bpf_link_get_info_by_fd(fd, &info, &len);
141 info.perf_event.kprobe.name_len = 64;
142 err = bpf_link_get_info_by_fd(fd, &info, &len);
145 info.perf_event.kprobe.func_name = 0;
146 err = bpf_link_get_info_by_fd(fd, &info, &len);
149 ASSERT_EQ(info.perf_event.kprobe.addr, 0, "func_addr");
150 ASSERT_EQ(info.perf_event.kprobe.offset, 0, "func_offset");
151 ASSERT_EQ(info.perf_event.type, 0, "type");
277 struct bpf_link_info info;
278 __u32 len = sizeof(info);
281 memset(&info, 0, sizeof(info));
284 err = bpf_link_get_info_by_fd(fd, &info, &len);
288 if (!ASSERT_EQ(info.type, BPF_LINK_TYPE_KPROBE_MULTI, "kmulti_type"))
291 ASSERT_EQ(info.kprobe_multi.count, KMULTI_CNT, "func_cnt");
292 flags = info.kprobe_multi.flags & BPF_F_KPROBE_MULTI_RETURN;
298 if (!info.kprobe_multi.addrs) {
299 info.kprobe_multi.addrs = ptr_to_u64(addrs);
300 info.kprobe_multi.cookies = ptr_to_u64(cookies);
314 struct bpf_link_info info;
315 __u32 len = sizeof(info);
318 memset(&info, 0, sizeof(info));
320 info.kprobe_multi.count = KMULTI_CNT;
321 err = bpf_link_get_info_by_fd(fd, &info, &len);
324 info.kprobe_multi.addrs = ptr_to_u64(addrs);
325 info.kprobe_multi.count = 0;
326 err = bpf_link_get_info_by_fd(fd, &info, &len);
331 info.kprobe_multi.count = KMULTI_CNT - 1;
332 err = bpf_link_get_info_by_fd(fd, &info, &len);
340 info.kprobe_multi.count = KMULTI_CNT + 1;
341 err = bpf_link_get_info_by_fd(fd, &info, &len);
346 info.kprobe_multi.count = KMULTI_CNT;
347 info.kprobe_multi.addrs = 0x1; /* invalid addr */
348 err = bpf_link_get_info_by_fd(fd, &info, &len);
351 info.kprobe_multi.count = KMULTI_CNT;
352 info.kprobe_multi.addrs = ptr_to_u64(addrs);
353 info.kprobe_multi.cookies = 0x1; /* invalid addr */
354 err = bpf_link_get_info_by_fd(fd, &info, &len);
358 info.kprobe_multi.count = 0;
359 info.kprobe_multi.addrs = ptr_to_u64(NULL);
360 info.kprobe_multi.cookies = ptr_to_u64(cookies);
361 err = bpf_link_get_info_by_fd(fd, &info, &len);
428 struct bpf_link_info info;
429 __u32 len = sizeof(info);
441 memset(&info, 0, sizeof(info));
442 err = bpf_link_get_info_by_fd(fd, &info, &len);
446 ASSERT_EQ(info.uprobe_multi.count, 3, "info.uprobe_multi.count");
447 ASSERT_EQ(info.uprobe_multi.path_size, strlen(path) + 1,
448 "info.uprobe_multi.path_size");
451 memset(&info, 0, sizeof(info));
452 info.uprobe_multi.path = ptr_to_u64(path_buf);
453 info.uprobe_multi.path_size = sizeof(path_buf);
454 info.uprobe_multi.count = count;
457 info.uprobe_multi.offsets = ptr_to_u64(offsets_buf);
459 info.uprobe_multi.cookies = ptr_to_u64(cookies_buf);
461 info.uprobe_multi.ref_ctr_offsets = ptr_to_u64(ref_ctr_offsets_buf);
463 err = bpf_link_get_info_by_fd(fd, &info, &len);
467 if (!ASSERT_EQ(info.type, BPF_LINK_TYPE_UPROBE_MULTI, "info.type"))
470 ASSERT_EQ(info.uprobe_multi.pid, getpid(), "info.uprobe_multi.pid");
471 ASSERT_EQ(info.uprobe_multi.count, 3, "info.uprobe_multi.count");
472 ASSERT_EQ(info.uprobe_multi.flags & BPF_F_KPROBE_MULTI_RETURN,
473 retprobe, "info.uprobe_multi.flags.retprobe");
474 ASSERT_EQ(info.uprobe_multi.path_size, strlen(path) + 1, "info.uprobe_multi.path_size");
475 ASSERT_STREQ(path_buf, path, "info.uprobe_multi.path");
477 for (i = 0; i < info.uprobe_multi.count; i++) {
478 if (info.uprobe_multi.offsets)
479 ASSERT_EQ(offsets_buf[i], offsets[i], "info.uprobe_multi.offsets");
480 if (info.uprobe_multi.cookies)
481 ASSERT_EQ(cookies_buf[i], cookies[i], "info.uprobe_multi.cookies");
482 if (info.uprobe_multi.ref_ctr_offsets) {
484 "info.uprobe_multi.ref_ctr_offsets");
487 count = count ?: info.uprobe_multi.count;
495 struct bpf_link_info info;
496 __u32 len = sizeof(info);
501 memset(&info, 0, sizeof(info));
502 info.uprobe_multi.path_size = 3;
503 err = bpf_link_get_info_by_fd(fd, &info, &len);
507 memset(&info, 0, sizeof(info));
508 info.uprobe_multi.path = ptr_to_u64(buf);
509 info.uprobe_multi.path_size = 3;
510 err = bpf_link_get_info_by_fd(fd, &info, &len);
514 memset(&info, 0, sizeof(info));
515 info.uprobe_multi.path_size = PATH_MAX;
516 info.uprobe_multi.path = 123;
517 err = bpf_link_get_info_by_fd(fd, &info, &len);
521 memset(&info, 0, sizeof(info));
522 info.uprobe_multi.offsets = ptr_to_u64(buf);
523 err = bpf_link_get_info_by_fd(fd, &info, &len);
527 memset(&info, 0, sizeof(info));
528 info.uprobe_multi.offsets = ptr_to_u64(buf);
529 info.uprobe_multi.count = 2;
530 err = bpf_link_get_info_by_fd(fd, &info, &len);
534 memset(&info, 0, sizeof(info));
535 info.uprobe_multi.offsets = 123;
536 info.uprobe_multi.count = 3;
537 err = bpf_link_get_info_by_fd(fd, &info, &len);