/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | uprobe_multi_test.c | 194 static void uprobe_multi_test_run(struct uprobe_multi *skel, struct child *child) in uprobe_multi_test_run() 249 struct uprobe_multi *skel = NULL; in test_skel_api() 271 struct uprobe_multi *skel = NULL; in __test_attach_api() 376 struct uprobe_multi *skel = NULL; in test_attach_api_fails() 387 opts.uprobe_multi.path = path; in test_attach_api_fails() 388 opts.uprobe_multi.offsets = &offset; in test_attach_api_fails() 389 opts.uprobe_multi.cnt = INT_MAX; in test_attach_api_fails() 398 .uprobe_multi.path = path, in test_attach_api_fails() 399 .uprobe_multi.offsets = (unsigned long *) &offset, in test_attach_api_fails() 410 opts.uprobe_multi.path = path; in test_attach_api_fails() [all …]
|
H A D | fill_link_info.c | 432 ASSERT_EQ(info.uprobe_multi.count, 3, "info.uprobe_multi.count"); in verify_umulti_link_info() 433 ASSERT_EQ(info.uprobe_multi.path_size, strlen(path) + 1, in verify_umulti_link_info() 438 info.uprobe_multi.path = ptr_to_u64(path_buf); in verify_umulti_link_info() 439 info.uprobe_multi.path_size = sizeof(path_buf); in verify_umulti_link_info() 440 info.uprobe_multi.count = count; in verify_umulti_link_info() 443 info.uprobe_multi.offsets = ptr_to_u64(offsets_buf); in verify_umulti_link_info() 445 info.uprobe_multi.cookies = ptr_to_u64(cookies_buf); in verify_umulti_link_info() 447 info.uprobe_multi.ref_ctr_offsets = ptr_to_u64(ref_ctr_offsets_buf); in verify_umulti_link_info() 456 ASSERT_EQ(info.uprobe_multi.pid, getpid(), "info.uprobe_multi.pid"); in verify_umulti_link_info() 457 ASSERT_EQ(info.uprobe_multi.count, 3, "info.uprobe_multi.count"); in verify_umulti_link_info() [all …]
|
/linux/tools/bpf/bpftool/ |
H A D | link.c | 343 info->uprobe_multi.flags & BPF_F_UPROBE_MULTI_RETURN); in show_uprobe_multi_json() 344 jsonw_string_field(json_wtr, "path", (char *) u64_to_ptr(info->uprobe_multi.path)); in show_uprobe_multi_json() 345 jsonw_uint_field(json_wtr, "func_cnt", info->uprobe_multi.count); in show_uprobe_multi_json() 346 jsonw_int_field(json_wtr, "pid", (int) info->uprobe_multi.pid); in show_uprobe_multi_json() 350 for (i = 0; i < info->uprobe_multi.count; i++) { in show_uprobe_multi_json() 353 u64_to_arr(info->uprobe_multi.offsets)[i]); in show_uprobe_multi_json() 355 u64_to_arr(info->uprobe_multi.ref_ctr_offsets)[i]); in show_uprobe_multi_json() 357 u64_to_arr(info->uprobe_multi.cookies)[i]); in show_uprobe_multi_json() 764 if (!info->uprobe_multi.count) in show_uprobe_multi_plain() 767 if (info->uprobe_multi.flags & BPF_F_UPROBE_MULTI_RETURN) in show_uprobe_multi_plain() [all …]
|
/linux/tools/lib/bpf/ |
H A D | bpf.c | 781 attr.link_create.uprobe_multi.flags = OPTS_GET(opts, uprobe_multi.flags, 0); in bpf_link_create() 782 attr.link_create.uprobe_multi.cnt = OPTS_GET(opts, uprobe_multi.cnt, 0); in bpf_link_create() 783 attr.link_create.uprobe_multi.path = ptr_to_u64(OPTS_GET(opts, uprobe_multi.path, 0)); in bpf_link_create() 784 attr.link_create.uprobe_multi.offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.offsets, 0)); in bpf_link_create() 785 …attr.link_create.uprobe_multi.ref_ctr_offsets = ptr_to_u64(OPTS_GET(opts, uprobe_multi.ref_ctr_off… in bpf_link_create() 786 attr.link_create.uprobe_multi.cookies = ptr_to_u64(OPTS_GET(opts, uprobe_multi.cookies, 0)); in bpf_link_create() 787 attr.link_create.uprobe_multi.pid = OPTS_GET(opts, uprobe_multi.pid, 0); in bpf_link_create() 788 if (!OPTS_ZEROED(opts, uprobe_multi)) in bpf_link_create()
|
H A D | bpf.h | 421 } uprobe_multi; member 444 #define bpf_link_create_opts__last_field uprobe_multi.pid
|
H A D | libbpf.c | 12114 lopts.uprobe_multi.path = path; in bpf_program__attach_uprobe_multi() 12115 lopts.uprobe_multi.offsets = offsets; in bpf_program__attach_uprobe_multi() 12116 lopts.uprobe_multi.ref_ctr_offsets = ref_ctr_offsets; in bpf_program__attach_uprobe_multi() 12117 lopts.uprobe_multi.cookies = cookies; in bpf_program__attach_uprobe_multi() 12118 lopts.uprobe_multi.cnt = cnt; in bpf_program__attach_uprobe_multi() 12119 lopts.uprobe_multi.flags = retprobe ? BPF_F_UPROBE_MULTI_RETURN : 0; in bpf_program__attach_uprobe_multi() 12124 lopts.uprobe_multi.pid = pid; in bpf_program__attach_uprobe_multi()
|
/linux/kernel/trace/ |
H A D | bpf_trace.c | 3200 u64 __user *uref_ctr_offsets = u64_to_user_ptr(info->uprobe_multi.ref_ctr_offsets); in bpf_uprobe_multi_link_fill_link_info() 3201 u64 __user *ucookies = u64_to_user_ptr(info->uprobe_multi.cookies); in bpf_uprobe_multi_link_fill_link_info() 3202 u64 __user *uoffsets = u64_to_user_ptr(info->uprobe_multi.offsets); in bpf_uprobe_multi_link_fill_link_info() 3203 u64 __user *upath = u64_to_user_ptr(info->uprobe_multi.path); in bpf_uprobe_multi_link_fill_link_info() 3204 u32 upath_size = info->uprobe_multi.path_size; in bpf_uprobe_multi_link_fill_link_info() 3206 u32 ucount = info->uprobe_multi.count; in bpf_uprobe_multi_link_fill_link_info() 3218 info->uprobe_multi.count = umulti_link->cnt; in bpf_uprobe_multi_link_fill_link_info() 3219 info->uprobe_multi.flags = umulti_link->flags; in bpf_uprobe_multi_link_fill_link_info() 3220 info->uprobe_multi.pid = umulti_link->task ? in bpf_uprobe_multi_link_fill_link_info() 3239 info->uprobe_multi.path_size = upath_size; in bpf_uprobe_multi_link_fill_link_info() [all …]
|
/linux/tools/testing/selftests/bpf/ |
H A D | .gitignore | 40 /uprobe_multi
|
H A D | Makefile | 143 TEST_GEN_FILES += liburandom_read.so urandom_read sign-file uprobe_multi 721 $(OUTPUT)/uprobe_multi \ 844 $(OUTPUT)/uprobe_multi: CFLAGS += $(if $(filter mips, $(ARCH)),-mxgot) 845 $(OUTPUT)/uprobe_multi: uprobe_multi.c uprobe_multi.ld 847 $(Q)$(CC) $(CFLAGS) -Wl,-T,uprobe_multi.ld -O0 $(LDFLAGS) \
|
/linux/include/linux/ |
H A D | bpf_types.h | 156 BPF_LINK_TYPE(BPF_LINK_TYPE_UPROBE_MULTI, uprobe_multi)
|
/linux/include/uapi/linux/ |
H A D | bpf.h | 1784 } uprobe_multi; member 6705 } uprobe_multi; member
|
/linux/tools/include/uapi/linux/ |
H A D | bpf.h | 1784 } uprobe_multi; member 6705 } uprobe_multi; member
|
/linux/kernel/bpf/ |
H A D | syscall.c | 5314 #define BPF_LINK_CREATE_LAST_FIELD link_create.uprobe_multi.pid
|