/Linux-v6.6/kernel/events/ |
D | uprobes.c | 54 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/ |
D | program_types.rst | 84 … | | ``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/ |
D | uprobetracer.rst | 18 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/ |
D | fill_link_info.c | 89 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()
|
D | uprobe_multi_test.c | 164 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()
|
D | bpf_cookie.c | 295 link1 = bpf_program__attach_uprobe_multi(skel->progs.uprobe, -1, in uprobe_multi_attach_api_subtest()
|
/Linux-v6.6/include/linux/ |
D | uprobes.h | 76 struct uprobe *active_uprobe; 84 struct uprobe *uprobe; member
|
/Linux-v6.6/tools/perf/tests/shell/ |
D | test_uprobe_from_different_cu.sh | 13 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/ |
D | bpftool-perf.rst | 59 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/ |
D | link.c | 311 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/ |
D | bpf_trace.c | 3043 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 …]
|
D | Kconfig | 757 This allows the user to attach BPF programs to kprobe, uprobe, and
|
/Linux-v6.6/tools/testing/selftests/bpf/progs/ |
D | uprobe_multi.c | 70 int uprobe(struct pt_regs *ctx) in uprobe() function
|
/Linux-v6.6/tools/perf/bench/ |
D | Build | 20 perf-y += uprobe.o
|
/Linux-v6.6/tools/perf/Documentation/ |
D | perf-bench.txt | 70 'uprobe':: 71 Benchmark overhead of uprobe + BPF.
|
D | perf-buildid-cache.txt | 74 used when creating a uprobe for a process that resides in a
|
D | perf-probe.txt | 135 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/ |
D | probe-file.c | 74 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()
|
D | probe-event.c | 887 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/ |
D | bpf.h | 6537 } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */ member
|
/Linux-v6.6/include/uapi/linux/ |
D | bpf.h | 6537 } uprobe; /* BPF_PERF_EVENT_UPROBE, BPF_PERF_EVENT_URETPROBE */ member
|
/Linux-v6.6/kernel/bpf/ |
D | syscall.c | 3440 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/ |
D | libbpf.c | 10245 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()
|