Home
last modified time | relevance | path

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

/Linux-v6.6/kernel/events/
Duprobes.c54 struct uprobe { struct
81 struct uprobe *uprobe; argument
282 delayed_uprobe_check(struct uprobe *uprobe, struct mm_struct *mm) in delayed_uprobe_check() argument
287 if (du->uprobe == uprobe && du->mm == mm) in delayed_uprobe_check()
292 static int delayed_uprobe_add(struct uprobe *uprobe, struct mm_struct *mm) in delayed_uprobe_add() argument
296 if (delayed_uprobe_check(uprobe, mm)) in delayed_uprobe_add()
303 du->uprobe = uprobe; in delayed_uprobe_add()
317 static void delayed_uprobe_remove(struct uprobe *uprobe, struct mm_struct *mm) in delayed_uprobe_remove() argument
322 if (!uprobe && !mm) in delayed_uprobe_remove()
328 if (uprobe && du->uprobe != uprobe) in delayed_uprobe_remove()
[all …]
/Linux-v6.6/Documentation/bpf/libbpf/
Dprogram_types.rst84 … | | ``uprobe+`` [#uprobe]_ …
86 … | | ``uprobe.s+`` [#uprobe]_ |…
88 … | | ``uretprobe+`` [#uprobe]_ | …
90 … | | ``uretprobe.s+`` [#uprobe]_ | Yes …
195 .. [#uprobe] The ``uprobe`` attach format is ``uprobe[.s]/<path>:<function>[+<offset>]``.
/Linux-v6.6/Documentation/trace/
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-v6.6/tools/testing/selftests/bpf/prog_tests/
Dfill_link_info.c89 ASSERT_EQ(info.perf_event.uprobe.offset, offset, "uprobe_offset"); in verify_perf_link_info()
91 if (!info.perf_event.uprobe.file_name) { in verify_perf_link_info()
92 ASSERT_EQ(info.perf_event.uprobe.name_len, 0, "name_len"); in verify_perf_link_info()
93 info.perf_event.uprobe.file_name = ptr_to_u64(&buf); in verify_perf_link_info()
94 info.perf_event.uprobe.name_len = sizeof(buf); in verify_perf_link_info()
98 err = strncmp(u64_to_ptr(info.perf_event.uprobe.file_name), UPROBE_FILE, in verify_perf_link_info()
Duprobe_multi_test.c164 skel->links.uprobe = bpf_program__attach_uprobe_multi(skel->progs.uprobe, pid, in __test_attach_api()
166 if (!ASSERT_OK_PTR(skel->links.uprobe, "bpf_program__attach_uprobe_multi")) in __test_attach_api()
266 prog_fd = bpf_program__fd(skel->progs.uprobe); in __test_link_api()
Dbpf_cookie.c295 link1 = bpf_program__attach_uprobe_multi(skel->progs.uprobe, -1, in uprobe_multi_attach_api_subtest()
/Linux-v6.6/include/linux/
Duprobes.h76 struct uprobe *active_uprobe;
84 struct uprobe *uprobe; member
/Linux-v6.6/tools/perf/tests/shell/
Dtest_uprobe_from_different_cu.sh13 temp_dir=$(mktemp -d /tmp/perf-uprobe-different-cu-sh.XXXXXXXXXX)
18 if [[ "${temp_dir}" =~ ^/tmp/perf-uprobe-different-cu-sh.*$ ]]; then
/Linux-v6.6/tools/bpf/bpftool/Documentation/
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-v6.6/tools/bpf/bpftool/
Dlink.c311 u64_to_ptr(info->perf_event.uprobe.file_name)); in show_perf_event_uprobe_json()
312 jsonw_uint_field(wtr, "offset", info->perf_event.uprobe.offset); in show_perf_event_uprobe_json()
693 buf = u64_to_ptr(info->perf_event.uprobe.file_name); in show_perf_event_uprobe_plain()
701 printf("%s+%#x ", buf, info->perf_event.uprobe.offset); in show_perf_event_uprobe_plain()
896 if (!info.perf_event.uprobe.file_name) { in do_show_link()
897 info.perf_event.uprobe.file_name = ptr_to_u64(&buf); in do_show_link()
898 info.perf_event.uprobe.name_len = sizeof(buf); in do_show_link()
/Linux-v6.6/kernel/trace/
Dbpf_trace.c3043 struct bpf_uprobe *uprobe; member
3082 static int uprobe_prog_run(struct bpf_uprobe *uprobe, in uprobe_prog_run() argument
3086 struct bpf_uprobe_multi_link *link = uprobe->link; in uprobe_prog_run()
3089 .uprobe = uprobe, in uprobe_prog_run()
3123 struct bpf_uprobe *uprobe; in uprobe_multi_link_filter() local
3125 uprobe = container_of(con, struct bpf_uprobe, consumer); in uprobe_multi_link_filter()
3126 return uprobe->link->task->mm == mm; in uprobe_multi_link_filter()
3132 struct bpf_uprobe *uprobe; in uprobe_multi_link_handler() local
3134 uprobe = container_of(con, struct bpf_uprobe, consumer); in uprobe_multi_link_handler()
3135 return uprobe_prog_run(uprobe, instruction_pointer(regs), regs); in uprobe_multi_link_handler()
[all …]
DKconfig757 This allows the user to attach BPF programs to kprobe, uprobe, and
/Linux-v6.6/tools/testing/selftests/bpf/progs/
Duprobe_multi.c70 int uprobe(struct pt_regs *ctx) in uprobe() function
/Linux-v6.6/tools/perf/bench/
DBuild20 perf-y += uprobe.o
/Linux-v6.6/tools/perf/Documentation/
Dperf-bench.txt70 'uprobe'::
71 Benchmark overhead of uprobe + BPF.
Dperf-buildid-cache.txt74 used when creating a uprobe for a process that resides in 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-v6.6/tools/perf/util/
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()
Dprobe-event.c887 bool uprobe, struct debuginfo *dinfo) in post_process_probe_trace_events() argument
891 if (uprobe) in post_process_probe_trace_events()
2880 static int __open_probe_file_and_namelist(bool uprobe, in __open_probe_file_and_namelist() argument
2885 fd = probe_file__open(PF_FL_RW | (uprobe ? PF_FL_UPROBE : 0)); in __open_probe_file_and_namelist()
/Linux-v6.6/tools/include/uapi/linux/
Dbpf.h6537 } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */ member
/Linux-v6.6/include/uapi/linux/
Dbpf.h6537 } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */ member
/Linux-v6.6/kernel/bpf/
Dsyscall.c3440 uname = u64_to_user_ptr(info->perf_event.uprobe.file_name); in bpf_perf_link_fill_uprobe()
3441 ulen = info->perf_event.uprobe.name_len; in bpf_perf_link_fill_uprobe()
3451 info->perf_event.uprobe.offset = offset; in bpf_perf_link_fill_uprobe()
/Linux-v6.6/tools/lib/bpf/
Dlibbpf.c10245 static int perf_event_open_probe(bool uprobe, bool retprobe, const char *name, in perf_event_open_probe() argument
10258 type = uprobe ? determine_uprobe_perf_type() in perf_event_open_probe()
10262 uprobe ? "uprobe" : "kprobe", in perf_event_open_probe()
10267 int bit = uprobe ? determine_uprobe_retprobe_bit() in perf_event_open_probe()
10272 uprobe ? "uprobe" : "kprobe", in perf_event_open_probe()