Home
last modified time | relevance | path

Searched refs:uprobe (Results 1 - 21 of 21) sorted by relevance

/kernel/linux/linux-5.10/kernel/events/
H A Duprobes.c38 * allows us to skip the uprobe_mmap if there are no uprobe events active
46 /* serialize uprobe->pending_list */
55 struct uprobe { struct
82 struct uprobe *uprobe; member
287 delayed_uprobe_check(struct uprobe *uprobe, struct mm_struct *mm) in delayed_uprobe_check() argument
292 if (du->uprobe == uprobe && du->mm == mm) in delayed_uprobe_check()
297 static int delayed_uprobe_add(struct uprobe *uprob argument
322 delayed_uprobe_remove(struct uprobe *uprobe, struct mm_struct *mm) delayed_uprobe_remove() argument
342 valid_ref_ctr_vma(struct uprobe *uprobe, struct vm_area_struct *vma) valid_ref_ctr_vma() argument
356 find_ref_ctr_vma(struct uprobe *uprobe, struct mm_struct *mm) find_ref_ctr_vma() argument
407 update_ref_ctr_warn(struct uprobe *uprobe, struct mm_struct *mm, short d) update_ref_ctr_warn() argument
417 update_ref_ctr(struct uprobe *uprobe, struct mm_struct *mm, short d) update_ref_ctr() argument
466 struct uprobe *uprobe; uprobe_write_opcode() local
595 get_uprobe(struct uprobe *uprobe) get_uprobe() argument
601 put_uprobe(struct uprobe *uprobe) put_uprobe() argument
637 struct uprobe *uprobe; __find_uprobe() local
660 struct uprobe *uprobe; find_uprobe() local
669 __insert_uprobe(struct uprobe *uprobe) __insert_uprobe() argument
707 insert_uprobe(struct uprobe *uprobe) insert_uprobe() argument
719 ref_ctr_mismatch_warn(struct uprobe *cur_uprobe, struct uprobe *uprobe) ref_ctr_mismatch_warn() argument
731 struct uprobe *uprobe, *cur_uprobe; alloc_uprobe() local
760 consumer_add(struct uprobe *uprobe, struct uprobe_consumer *uc) consumer_add() argument
773 consumer_del(struct uprobe *uprobe, struct uprobe_consumer *uc) consumer_del() argument
813 copy_insn(struct uprobe *uprobe, struct file *filp) copy_insn() argument
839 prepare_uprobe(struct uprobe *uprobe, struct file *file, struct mm_struct *mm, unsigned long vaddr) prepare_uprobe() argument
879 filter_chain(struct uprobe *uprobe, enum uprobe_filter_ctx ctx, struct mm_struct *mm) filter_chain() argument
897 install_breakpoint(struct uprobe *uprobe, struct mm_struct *mm, struct vm_area_struct *vma, unsigned long vaddr) install_breakpoint() argument
925 remove_breakpoint(struct uprobe *uprobe, struct mm_struct *mm, unsigned long vaddr) remove_breakpoint() argument
931 uprobe_is_active(struct uprobe *uprobe) uprobe_is_active() argument
940 delete_uprobe(struct uprobe *uprobe) delete_uprobe() argument
1036 register_for_each_vma(struct uprobe *uprobe, struct uprobe_consumer *new) register_for_each_vma() argument
1090 __uprobe_unregister(struct uprobe *uprobe, struct uprobe_consumer *uc) __uprobe_unregister() argument
1111 struct uprobe *uprobe; uprobe_unregister() local
1145 struct uprobe *uprobe; __uprobe_register() local
1219 struct uprobe *uprobe; uprobe_apply() local
1238 unapply_uprobe(struct uprobe *uprobe, struct mm_struct *mm) unapply_uprobe() argument
1365 struct uprobe *uprobe, *u; uprobe_mmap() local
1611 xol_get_insn_slot(struct uprobe *uprobe) xol_get_insn_slot() argument
1861 prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs) prepare_uretprobe() argument
1929 pre_ssout(struct uprobe *uprobe, struct pt_regs *regs, unsigned long bp_vaddr) pre_ssout() argument
2047 struct uprobe *uprobe = NULL; find_active_uprobe() local
2073 handler_chain(struct uprobe *uprobe, struct pt_regs *regs) handler_chain() argument
2108 struct uprobe *uprobe = ri->uprobe; handle_uretprobe_chain() local
2190 struct uprobe *uprobe; handle_swbp() local
2263 struct uprobe *uprobe; handle_singlestep() local
[all...]
/kernel/linux/linux-6.6/kernel/events/
H A Duprobes.c37 * allows us to skip the uprobe_mmap if there are no uprobe events active
45 /* serialize uprobe->pending_list */
54 struct uprobe { struct
81 struct uprobe *uprobe; member
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 *uprob argument
317 delayed_uprobe_remove(struct uprobe *uprobe, struct mm_struct *mm) delayed_uprobe_remove() argument
337 valid_ref_ctr_vma(struct uprobe *uprobe, struct vm_area_struct *vma) valid_ref_ctr_vma() argument
351 find_ref_ctr_vma(struct uprobe *uprobe, struct mm_struct *mm) find_ref_ctr_vma() argument
402 update_ref_ctr_warn(struct uprobe *uprobe, struct mm_struct *mm, short d) update_ref_ctr_warn() argument
412 update_ref_ctr(struct uprobe *uprobe, struct mm_struct *mm, short d) update_ref_ctr() argument
462 struct uprobe *uprobe; uprobe_write_opcode() local
590 get_uprobe(struct uprobe *uprobe) get_uprobe() argument
596 put_uprobe(struct uprobe *uprobe) put_uprobe() argument
670 struct uprobe *uprobe; find_uprobe() local
679 __insert_uprobe(struct uprobe *uprobe) __insert_uprobe() argument
700 insert_uprobe(struct uprobe *uprobe) insert_uprobe() argument
712 ref_ctr_mismatch_warn(struct uprobe *cur_uprobe, struct uprobe *uprobe) ref_ctr_mismatch_warn() argument
724 struct uprobe *uprobe, *cur_uprobe; alloc_uprobe() local
753 consumer_add(struct uprobe *uprobe, struct uprobe_consumer *uc) consumer_add() argument
766 consumer_del(struct uprobe *uprobe, struct uprobe_consumer *uc) consumer_del() argument
806 copy_insn(struct uprobe *uprobe, struct file *filp) copy_insn() argument
832 prepare_uprobe(struct uprobe *uprobe, struct file *file, struct mm_struct *mm, unsigned long vaddr) prepare_uprobe() argument
872 filter_chain(struct uprobe *uprobe, enum uprobe_filter_ctx ctx, struct mm_struct *mm) filter_chain() argument
890 install_breakpoint(struct uprobe *uprobe, struct mm_struct *mm, struct vm_area_struct *vma, unsigned long vaddr) install_breakpoint() argument
918 remove_breakpoint(struct uprobe *uprobe, struct mm_struct *mm, unsigned long vaddr) remove_breakpoint() argument
924 uprobe_is_active(struct uprobe *uprobe) uprobe_is_active() argument
933 delete_uprobe(struct uprobe *uprobe) delete_uprobe() argument
1029 register_for_each_vma(struct uprobe *uprobe, struct uprobe_consumer *new) register_for_each_vma() argument
1083 __uprobe_unregister(struct uprobe *uprobe, struct uprobe_consumer *uc) __uprobe_unregister() argument
1104 struct uprobe *uprobe; uprobe_unregister() local
1138 struct uprobe *uprobe; __uprobe_register() local
1213 struct uprobe *uprobe; uprobe_apply() local
1232 unapply_uprobe(struct uprobe *uprobe, struct mm_struct *mm) unapply_uprobe() argument
1360 struct uprobe *uprobe, *u; uprobe_mmap() local
1606 xol_get_insn_slot(struct uprobe *uprobe) xol_get_insn_slot() argument
1856 prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs) prepare_uretprobe() argument
1924 pre_ssout(struct uprobe *uprobe, struct pt_regs *regs, unsigned long bp_vaddr) pre_ssout() argument
2042 struct uprobe *uprobe = NULL; find_active_uprobe() local
2068 handler_chain(struct uprobe *uprobe, struct pt_regs *regs) handler_chain() argument
2103 struct uprobe *uprobe = ri->uprobe; handle_uretprobe_chain() local
2185 struct uprobe *uprobe; handle_swbp() local
2258 struct uprobe *uprobe; handle_singlestep() local
[all...]
/kernel/linux/linux-5.10/include/linux/
H A Duprobes.h76 struct uprobe *active_uprobe;
84 struct uprobe *uprobe; member
/kernel/linux/linux-6.6/include/linux/
H A Duprobes.h76 struct uprobe *active_uprobe;
84 struct uprobe *uprobe; member
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/
H A Dfill_link_info.c27 /* uprobe attach point */
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()
H A 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()
H A Dbpf_cookie.c16 /* uprobe attach point */
295 link1 = bpf_program__attach_uprobe_multi(skel->progs.uprobe, -1, in uprobe_multi_attach_api_subtest()
359 /* trigger uprobe && uretprobe */ in uprobe_subtest()
592 if (test__start_subtest("uprobe")) in test_bpf_cookie()
/kernel/linux/linux-5.10/tools/perf/tests/shell/
H A 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
/kernel/linux/linux-6.6/tools/perf/tests/shell/
H A 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
/kernel/linux/linux-6.6/tools/bpf/bpftool/
H A 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()
/kernel/linux/linux-6.6/kernel/trace/
H A Dbpf_trace.c2420 /* kprobe/uprobe */ in bpf_get_perf_event_info()
3048 struct bpf_uprobe *uprobe; member
3087 static int uprobe_prog_run(struct bpf_uprobe *uprobe, in uprobe_prog_run() argument
3091 struct bpf_uprobe_multi_link *link = uprobe->link; in uprobe_prog_run()
3094 .uprobe = uprobe, in uprobe_prog_run()
3128 struct bpf_uprobe *uprobe; in uprobe_multi_link_filter() local
3130 uprobe = container_of(con, struct bpf_uprobe, consumer); in uprobe_multi_link_filter()
3131 return uprobe->link->task->mm == mm; in uprobe_multi_link_filter()
3137 struct bpf_uprobe *uprobe; in uprobe_multi_link_handler() local
3146 struct bpf_uprobe *uprobe; uprobe_multi_link_ret_handler() local
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/
H A Duprobe_multi.c69 SEC("uprobe.multi//proc/self/exe:uprobe_multi_func_*")
70 int uprobe(struct pt_regs *ctx) in uprobe() function
83 SEC("uprobe.multi.s//proc/self/exe:uprobe_multi_func_*")
97 SEC("uprobe.multi//proc/self/exe:uprobe_multi_func_*")
/kernel/linux/linux-5.10/tools/perf/util/
H A Dprobe-file.c3 * probe-file.c : operate ftrace k/uprobe events files
34 static void print_open_warning(int err, bool uprobe) in print_open_warning() argument
41 if (uprobe) in print_open_warning()
48 uprobe ? 'u' : 'k', config); in print_open_warning()
53 uprobe ? 'u' : 'k', in print_open_warning()
69 pr_warning("Failed to open uprobe events: %s.\n", in print_both_open_warning()
727 * this will be an index to get suffix of the uprobe name (defining
H A Dprobe-event.c870 bool uprobe, struct debuginfo *dinfo) in post_process_probe_trace_events()
874 if (uprobe) in post_process_probe_trace_events()
2151 * absolute address uprobe. in synthesize_probe_trace_command()
2750 /* Warn if the current kernel's uprobe implementation is old */
2763 /* Old uprobe event doesn't support memory dereference */ in warn_uprobe_event_compat()
2832 static int __open_probe_file_and_namelist(bool uprobe, in __open_probe_file_and_namelist() argument
2837 fd = probe_file__open(PF_FL_RW | (uprobe ? PF_FL_UPROBE : 0)); in __open_probe_file_and_namelist()
867 post_process_probe_trace_events(struct perf_probe_event *pev, struct probe_trace_event *tevs, int ntevs, const char *module, bool uprobe, struct debuginfo *dinfo) post_process_probe_trace_events() argument
/kernel/linux/linux-6.6/tools/perf/util/
H A Dprobe-file.c3 * probe-file.c : operate ftrace k/uprobe events files
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()
762 * this will be an index to get suffix of the uprobe name (defining
H A Dprobe-event.c887 bool uprobe, struct debuginfo *dinfo) in post_process_probe_trace_events()
891 if (uprobe) in post_process_probe_trace_events()
2169 * absolute address uprobe. in synthesize_uprobe_trace_def()
2793 /* Warn if the current kernel's uprobe implementation is old */
2806 /* Old uprobe event doesn't support memory dereference */ in warn_uprobe_event_compat()
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()
884 post_process_probe_trace_events(struct perf_probe_event *pev, struct probe_trace_event *tevs, int ntevs, const char *module, bool uprobe, struct debuginfo *dinfo) post_process_probe_trace_events() argument
/kernel/linux/linux-6.6/include/uapi/linux/
H A Dbpf.h535 * or uprobe perf event, then the *prog_id* and *fd_type* will
538 * uprobe, the *probe_offset* and *probe_addr* will also be
541 * the tracepoint, kprobe or uprobe.
1577 * filename for uprobe
5120 * When called for kprobe program attached as uprobe it returns
5121 * probe address for both entry and return uprobe.
5126 * Address of the probe for uprobe and return uprobe.
5136 * - kprobe/uprobe;
6545 } uprobe; /* BPF_PERF_EVENT_UPROB member
[all...]
/kernel/linux/linux-6.6/tools/include/uapi/linux/
H A Dbpf.h535 * or uprobe perf event, then the *prog_id* and *fd_type* will
538 * uprobe, the *probe_offset* and *probe_addr* will also be
541 * the tracepoint, kprobe or uprobe.
1577 * filename for uprobe
5120 * When called for kprobe program attached as uprobe it returns
5121 * probe address for both entry and return uprobe.
5126 * Address of the probe for uprobe and return uprobe.
5136 * - kprobe/uprobe;
6545 } uprobe; /* BPF_PERF_EVENT_UPROB member
[all...]
/kernel/linux/linux-6.6/kernel/bpf/
H A Dsyscall.c3481 uname = u64_to_user_ptr(info->perf_event.uprobe.file_name); in bpf_perf_link_fill_uprobe()
3482 ulen = info->perf_event.uprobe.name_len; in bpf_perf_link_fill_uprobe()
3492 info->perf_event.uprobe.offset = offset; in bpf_perf_link_fill_uprobe()
/kernel/linux/linux-5.10/tools/lib/bpf/
H A Dlibbpf.c8327 BPF_PROG_SEC("uprobe/", BPF_PROG_TYPE_KPROBE),
9374 const char *file = "/sys/bus/event_source/devices/uprobe/type"; in determine_uprobe_perf_type()
9388 const char *file = "/sys/bus/event_source/devices/uprobe/format/retprobe"; in determine_uprobe_retprobe_bit()
9393 static int perf_event_open_probe(bool uprobe, bool retprobe, const char *name, in perf_event_open_probe() argument
9400 type = uprobe ? determine_uprobe_perf_type() in perf_event_open_probe()
9404 uprobe ? "uprobe" : "kprobe", in perf_event_open_probe()
9409 int bit = uprobe ? determine_uprobe_retprobe_bit() in perf_event_open_probe()
9414 uprobe ? "uprobe" in perf_event_open_probe()
[all...]
/kernel/linux/linux-6.6/tools/lib/bpf/
H A Dlibbpf.c4855 /* Creating uprobe in '/' binary should fail with -EBADF. */ in probe_uprobe_multi_link()
4967 "BPF multi-uprobe link support", probe_uprobe_multi_link,
8779 SEC_DEF("uprobe+", KPROBE, 0, SEC_NONE, attach_uprobe),
8780 SEC_DEF("uprobe.s+", KPROBE, 0, SEC_SLEEPABLE, attach_uprobe),
8786 SEC_DEF("uprobe.multi+", KPROBE, BPF_TRACE_UPROBE_MULTI, SEC_NONE, attach_uprobe_multi),
8788 SEC_DEF("uprobe.multi.s+", KPROBE, BPF_TRACE_UPROBE_MULTI, SEC_SLEEPABLE, attach_uprobe_multi),
10086 /* legacy uprobe/kprobe needs to be removed after perf event fd closure */ in bpf_link_perf_detach()
10229 const char *file = "/sys/bus/event_source/devices/uprobe/type"; in determine_uprobe_perf_type()
10243 const char *file = "/sys/bus/event_source/devices/uprobe/format/retprobe"; in determine_uprobe_retprobe_bit()
10251 static int perf_event_open_probe(bool uprobe, boo argument
[all...]

Completed in 73 milliseconds