/kernel/linux/linux-5.10/kernel/events/ |
H A D | uprobes.c | 38 * 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 D | uprobes.c | 37 * 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 D | uprobes.h | 76 struct uprobe *active_uprobe; 84 struct uprobe *uprobe; member
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | uprobes.h | 76 struct uprobe *active_uprobe; 84 struct uprobe *uprobe; member
|
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
H A D | fill_link_info.c | 27 /* 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 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()
|
H A D | bpf_cookie.c | 16 /* 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 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
|
/kernel/linux/linux-6.6/tools/perf/tests/shell/ |
H A 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
|
/kernel/linux/linux-6.6/tools/bpf/bpftool/ |
H A 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()
|
/kernel/linux/linux-6.6/kernel/trace/ |
H A D | bpf_trace.c | 2420 /* 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 D | uprobe_multi.c | 69 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 D | probe-file.c | 3 * 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 D | probe-event.c | 870 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 D | probe-file.c | 3 * 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 D | probe-event.c | 887 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 D | bpf.h | 535 * 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 D | bpf.h | 535 * 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 D | syscall.c | 3481 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 D | libbpf.c | 8327 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 D | libbpf.c | 4855 /* 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...] |