Home
last modified time | relevance | path

Searched refs:uprobe (Results 1 – 25 of 29) sorted by relevance

12

/linux-6.15/kernel/events/
H A Duprobes.c92 struct uprobe *uprobe; argument
328 du->uprobe = uprobe; in delayed_uprobe_add()
353 if (uprobe && du->uprobe != uprobe) in delayed_uprobe_remove()
487 struct uprobe *uprobe; in uprobe_write_opcode() local
700 hprobe->uprobe = uprobe; in hprobe_init_leased()
708 hprobe->uprobe = uprobe; in hprobe_init_stable()
1378 struct uprobe *uprobe; in uprobe_register() local
2107 struct uprobe *uprobe; in dup_utask() local
2609 struct uprobe *uprobe; in uprobe_handle_trampoline() local
2680 struct uprobe *uprobe; in handle_swbp() local
[all …]
/linux-6.15/include/linux/
H A Duprobes.h21 struct uprobe;
118 struct uprobe *uprobe; member
146 struct uprobe *active_uprobe;
198 extern struct uprobe *uprobe_register(struct inode *inode, loff_t offset, loff_t ref_ctr_offset, st…
199 extern int uprobe_apply(struct uprobe *uprobe, struct uprobe_consumer *uc, bool);
200 extern void uprobe_unregister_nosync(struct uprobe *uprobe, struct uprobe_consumer *uc);
239 static inline struct uprobe *
245 uprobe_apply(struct uprobe* uprobe, struct uprobe_consumer *uc, bool add) in uprobe_apply() argument
250 uprobe_unregister_nosync(struct uprobe *uprobe, struct uprobe_consumer *uc) in uprobe_unregister_nosync() argument
/linux-6.15/tools/testing/selftests/bpf/test_kmods/
H A Dbpf_testmod.c512 struct uprobe *uprobe; member
526 if (uprobe.uprobe) in testmod_register_uprobe()
531 if (uprobe.uprobe) in testmod_register_uprobe()
538 uprobe.uprobe = uprobe_register(d_real_inode(uprobe.path.dentry), in testmod_register_uprobe()
540 if (IS_ERR(uprobe.uprobe)) { in testmod_register_uprobe()
541 err = PTR_ERR(uprobe.uprobe); in testmod_register_uprobe()
542 path_put(&uprobe.path); in testmod_register_uprobe()
543 uprobe.uprobe = NULL; in testmod_register_uprobe()
554 if (uprobe.uprobe) { in testmod_unregister_uprobe()
555 uprobe_unregister_nosync(uprobe.uprobe, &uprobe.consumer); in testmod_unregister_uprobe()
[all …]
/linux-6.15/Documentation/bpf/libbpf/
H A Dprogram_types.rst94 … | | ``uprobe+`` [#uprobe]_ …
96 … | | ``uprobe.s+`` [#uprobe]_ |…
98 … | | ``uretprobe+`` [#uprobe]_ | …
100 … | | ``uretprobe.s+`` [#uprobe]_ | Yes …
221 .. [#uprobe] The ``uprobe`` attach format is ``uprobe[.s]/<path>:<function>[+<offset>]``.
/linux-6.15/Documentation/trace/
H A Duprobetracer.rst18 However unlike kprobe-event tracer, the uprobe event interface expects the
29 p[:[GRP/][EVENT]] PATH:OFFSET [FETCHARGS] : Set a uprobe
30 r[:[GRP/][EVENT]] PATH:OFFSET [FETCHARGS] : Set a return uprobe (uretprobe)
31 p[:[GRP/][EVENT]] PATH:OFFSET%return [FETCHARGS] : Set a return uprobe (uretprobe)
32 -:[GRP/][EVENT] : Clear uprobe or uretprobe event
58 (\*3) Unlike kprobe event, "u" prefix will just be ignored, because uprobe
87 * Add a probe as a new uprobe event, write a new definition to uprobe_events
88 as below (sets a uprobe at an offset of 0x4245c0 in the executable /bin/bash)::
118 0x00400000. Hence the command to uprobe would be::
184 Output shows us uprobe was triggered for a pid 24842 with ip being 0x446420
/linux-6.15/kernel/trace/
H A Dtrace_uprobe.c63 struct uprobe *uprobe; member
1110 struct uprobe *uprobe; in trace_uprobe_enable() local
1113 uprobe = uprobe_register(inode, tu->offset, tu->ref_ctr_offset, &tu->consumer); in trace_uprobe_enable()
1114 if (IS_ERR(uprobe)) in trace_uprobe_enable()
1115 return PTR_ERR(uprobe); in trace_uprobe_enable()
1117 tu->uprobe = uprobe; in trace_uprobe_enable()
1130 if (!tu->uprobe) in __probe_event_disable()
1133 uprobe_unregister_nosync(tu->uprobe, &tu->consumer); in __probe_event_disable()
1135 tu->uprobe = NULL; in __probe_event_disable()
1334 ret = uprobe_apply(tu->uprobe, &tu->consumer, false); in uprobe_perf_close()
[all …]
H A Dbpf_trace.c3141 struct uprobe *uprobe; member
3158 struct bpf_uprobe *uprobe; member
3277 .uprobe = uprobe, in uprobe_prog_run()
3310 struct bpf_uprobe *uprobe; in uprobe_multi_link_filter() local
3313 return uprobe->link->task->mm == mm; in uprobe_multi_link_filter()
3320 struct bpf_uprobe *uprobe; in uprobe_multi_link_handler() local
3325 if (uprobe->session) in uprobe_multi_link_handler()
3334 struct bpf_uprobe *uprobe; in uprobe_multi_link_ret_handler() local
3356 return run_ctx->uprobe->cookie; in bpf_uprobe_multi_cookie()
3479 if (IS_ERR(uprobes[i].uprobe)) { in bpf_uprobe_multi_link_attach()
[all …]
/linux-6.15/tools/perf/tests/shell/
H A Dtest_uprobe_from_different_cu.sh19 temp_dir=$(mktemp -d /tmp/perf-uprobe-different-cu-sh.XXXXXXXXXX)
24 if [[ "${temp_dir}" =~ ^/tmp/perf-uprobe-different-cu-sh.*$ ]]; then
/linux-6.15/tools/testing/selftests/bpf/prog_tests/
H A Dfill_link_info.c99 ASSERT_EQ(info.perf_event.uprobe.offset, offset, "uprobe_offset"); in verify_perf_link_info()
101 ASSERT_EQ(info.perf_event.uprobe.name_len, strlen(UPROBE_FILE) + 1, in verify_perf_link_info()
103 if (!info.perf_event.uprobe.file_name) { in verify_perf_link_info()
104 info.perf_event.uprobe.file_name = ptr_to_u64(&buf); in verify_perf_link_info()
105 info.perf_event.uprobe.name_len = sizeof(buf); in verify_perf_link_info()
109 ASSERT_EQ(info.perf_event.uprobe.cookie, PERF_EVENT_COOKIE, "uprobe_cookie"); in verify_perf_link_info()
111 err = strncmp(u64_to_ptr(info.perf_event.uprobe.file_name), UPROBE_FILE, in verify_perf_link_info()
H A Duprobe_multi_test.c278 skel->links.uprobe = bpf_program__attach_uprobe_multi(skel->progs.uprobe, pid, in __test_attach_api()
280 if (!ASSERT_OK_PTR(skel->links.uprobe, "bpf_program__attach_uprobe_multi")) in __test_attach_api()
575 skel->links.uprobe = bpf_program__attach_uprobe_multi(skel->progs.uprobe, -1, in attach_uprobe_fail_trap()
577 if (!ASSERT_ERR_PTR(skel->links.uprobe, "bpf_program__attach_uprobe_multi")) { in attach_uprobe_fail_trap()
578 bpf_link__destroy(skel->links.uprobe); in attach_uprobe_fail_trap()
579 skel->links.uprobe = NULL; in attach_uprobe_fail_trap()
688 prog_fd = bpf_program__fd(skel->progs.uprobe); in __test_link_api()
H A Dbpf_cookie.c295 link1 = bpf_program__attach_uprobe_multi(skel->progs.uprobe, -1, in uprobe_multi_attach_api_subtest()
/linux-6.15/tools/bpf/bpftool/Documentation/
H A Dbpftool-perf.rst59 pid 21800 fd 5: prog_id 9 uprobe filename /home/yhs/a.out offset 1159
69 {"pid":21800,"fd":5,"prog_id":9,"fd_type":"uprobe","filename":"/home/yhs/a.out","offset":1159}]
/linux-6.15/tools/bpf/bpftool/
H A Dlink.c380 u64_to_ptr(info->perf_event.uprobe.file_name)); in show_perf_event_uprobe_json()
381 jsonw_uint_field(wtr, "offset", info->perf_event.uprobe.offset); in show_perf_event_uprobe_json()
382 jsonw_uint_field(wtr, "cookie", info->perf_event.uprobe.cookie); in show_perf_event_uprobe_json()
815 buf = u64_to_ptr(info->perf_event.uprobe.file_name); in show_perf_event_uprobe_plain()
823 printf("%s+%#x ", buf, info->perf_event.uprobe.offset); in show_perf_event_uprobe_plain()
824 if (info->perf_event.uprobe.cookie) in show_perf_event_uprobe_plain()
825 printf("cookie %llu ", info->perf_event.uprobe.cookie); in show_perf_event_uprobe_plain()
1081 if (!info.perf_event.uprobe.file_name) { in do_show_link()
1082 info.perf_event.uprobe.file_name = ptr_to_u64(&buf); in do_show_link()
1083 info.perf_event.uprobe.name_len = sizeof(buf); in do_show_link()
/linux-6.15/tools/testing/selftests/bpf/benchs/
H A Drun_bench_uprobes.sh5 for i in usermode-count syscall-count {uprobe,uretprobe}-{nop,push,ret}
/linux-6.15/tools/testing/selftests/bpf/progs/
H A Duprobe_multi_session.c52 int uprobe(struct pt_regs *ctx) in uprobe() function
H A Duprobe_multi.c85 int uprobe(struct pt_regs *ctx) in uprobe() function
/linux-6.15/tools/testing/selftests/bpf/
H A Duprobe_multi.c19 int __attribute__((weak)) uprobe(void) in uprobe() function
114 (void)uprobe(); in trigger_uprobe()
/linux-6.15/tools/perf/bench/
H A DBuild20 perf-bench-y += uprobe.o
/linux-6.15/tools/perf/Documentation/
H A Dperf-bench.txt70 'uprobe'::
71 Benchmark overhead of uprobe + BPF.
H A Dperf-buildid-cache.txt74 used when creating a uprobe for a process that resides in a
H A Dperf-probe.txt135 used when creating a uprobe for a process that resides in a
173 …p name by 'GROUP', if omitted, set 'probe' is used for kprobe and 'probe_<bin>' is used for uprobe.
281 Add a uprobe to a target process running in a different mount namespace
/linux-6.15/tools/perf/util/
H A Dprobe-file.c74 static void print_open_warning(int err, bool uprobe, bool readwrite) in print_open_warning() argument
81 if (print_configure_probe_event(uprobe ? 0 : err, uprobe ? err : 0)) in print_open_warning()
85 tracing_path_mount(), uprobe ? 'u' : 'k', in print_open_warning()
H A Dprobe-event.c904 bool uprobe, struct debuginfo *dinfo) in post_process_probe_trace_events() argument
908 if (uprobe) in post_process_probe_trace_events()
2958 static int __open_probe_file_and_namelist(bool uprobe, in __open_probe_file_and_namelist() argument
2963 fd = probe_file__open(PF_FL_RW | (uprobe ? PF_FL_UPROBE : 0)); in __open_probe_file_and_namelist()
/linux-6.15/kernel/bpf/
H A Dsyscall.c3807 uname = u64_to_user_ptr(info->perf_event.uprobe.file_name); in bpf_perf_link_fill_uprobe()
3808 ulen = info->perf_event.uprobe.name_len; in bpf_perf_link_fill_uprobe()
3818 info->perf_event.uprobe.name_len = ulen; in bpf_perf_link_fill_uprobe()
3819 info->perf_event.uprobe.offset = offset; in bpf_perf_link_fill_uprobe()
3820 info->perf_event.uprobe.cookie = event->bpf_cookie; in bpf_perf_link_fill_uprobe()
/linux-6.15/tools/include/uapi/linux/
H A Dbpf.h6726 } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */ member

12