Lines Matching refs:retprobe
10715 static int remove_kprobe_event_legacy(const char *probe_name, bool retprobe);
10716 static int remove_uprobe_event_legacy(const char *probe_name, bool retprobe);
10895 static int perf_event_open_probe(bool uprobe, bool retprobe, const char *name, in perf_event_open_probe() argument
10916 if (retprobe) { in perf_event_open_probe()
11022 static int add_kprobe_event_legacy(const char *probe_name, bool retprobe, in add_kprobe_event_legacy() argument
11026 retprobe ? 'r' : 'p', in add_kprobe_event_legacy()
11027 retprobe ? "kretprobes" : "kprobes", in add_kprobe_event_legacy()
11031 static int remove_kprobe_event_legacy(const char *probe_name, bool retprobe) in remove_kprobe_event_legacy() argument
11034 retprobe ? "kretprobes" : "kprobes", probe_name); in remove_kprobe_event_legacy()
11037 static int determine_kprobe_perf_type_legacy(const char *probe_name, bool retprobe) in determine_kprobe_perf_type_legacy() argument
11042 tracefs_path(), retprobe ? "kretprobes" : "kprobes", probe_name); in determine_kprobe_perf_type_legacy()
11047 static int perf_event_kprobe_open_legacy(const char *probe_name, bool retprobe, in perf_event_kprobe_open_legacy() argument
11055 err = add_kprobe_event_legacy(probe_name, retprobe, kfunc_name, offset); in perf_event_kprobe_open_legacy()
11062 type = determine_kprobe_perf_type_legacy(probe_name, retprobe); in perf_event_kprobe_open_legacy()
11090 remove_kprobe_event_legacy(probe_name, retprobe); in perf_event_kprobe_open_legacy()
11163 bool retprobe, legacy; in bpf_program__attach_kprobe_opts() local
11170 retprobe = OPTS_GET(opts, retprobe, false); in bpf_program__attach_kprobe_opts()
11196 pfd = perf_event_open_probe(false /* uprobe */, retprobe, in bpf_program__attach_kprobe_opts()
11209 pfd = perf_event_kprobe_open_legacy(legacy_probe, retprobe, func_name, in bpf_program__attach_kprobe_opts()
11215 prog->name, retprobe ? "kretprobe" : "kprobe", in bpf_program__attach_kprobe_opts()
11225 prog->name, retprobe ? "kretprobe" : "kprobe", in bpf_program__attach_kprobe_opts()
11235 perf_link->legacy_is_retprobe = retprobe; in bpf_program__attach_kprobe_opts()
11242 remove_kprobe_event_legacy(legacy_probe, retprobe); in bpf_program__attach_kprobe_opts()
11249 bool retprobe, in bpf_program__attach_kprobe() argument
11253 .retprobe = retprobe, in bpf_program__attach_kprobe()
11281 kprobe_opts.retprobe = OPTS_GET(opts, retprobe, false); in bpf_program__attach_ksyscall()
11487 bool retprobe, session; in bpf_program__attach_kprobe_multi_opts() local
11527 retprobe = OPTS_GET(opts, retprobe, false); in bpf_program__attach_kprobe_multi_opts()
11530 if (retprobe && session) in bpf_program__attach_kprobe_multi_opts()
11539 lopts.kprobe_multi.flags = retprobe ? BPF_F_KPROBE_MULTI_RETURN : 0; in bpf_program__attach_kprobe_multi_opts()
11579 opts.retprobe = str_has_pfx(prog->sec_name, "kretprobe/"); in attach_kprobe()
11580 if (opts.retprobe) in attach_kprobe()
11590 if (opts.retprobe && offset != 0) { in attach_kprobe()
11613 opts.retprobe = str_has_pfx(prog->sec_name, "kretsyscall/"); in attach_ksyscall()
11614 if (opts.retprobe) in attach_ksyscall()
11637 opts.retprobe = str_has_pfx(prog->sec_name, "kretprobe.multi/"); in attach_kprobe_multi()
11638 if (opts.retprobe) in attach_kprobe_multi()
11696 opts.retprobe = str_has_pfx(probe_type, "uretprobe.multi"); in attach_uprobe_multi()
11725 static inline int add_uprobe_event_legacy(const char *probe_name, bool retprobe, in add_uprobe_event_legacy() argument
11729 retprobe ? 'r' : 'p', in add_uprobe_event_legacy()
11730 retprobe ? "uretprobes" : "uprobes", in add_uprobe_event_legacy()
11734 static inline int remove_uprobe_event_legacy(const char *probe_name, bool retprobe) in remove_uprobe_event_legacy() argument
11737 retprobe ? "uretprobes" : "uprobes", probe_name); in remove_uprobe_event_legacy()
11740 static int determine_uprobe_perf_type_legacy(const char *probe_name, bool retprobe) in determine_uprobe_perf_type_legacy() argument
11745 tracefs_path(), retprobe ? "uretprobes" : "uprobes", probe_name); in determine_uprobe_perf_type_legacy()
11750 static int perf_event_uprobe_open_legacy(const char *probe_name, bool retprobe, in perf_event_uprobe_open_legacy() argument
11757 err = add_uprobe_event_legacy(probe_name, retprobe, binary_path, offset); in perf_event_uprobe_open_legacy()
11763 type = determine_uprobe_perf_type_legacy(probe_name, retprobe); in perf_event_uprobe_open_legacy()
11789 remove_uprobe_event_legacy(probe_name, retprobe); in perf_event_uprobe_open_legacy()
12024 lopts.uprobe_multi.flags = OPTS_GET(opts, retprobe, false) ? BPF_F_UPROBE_MULTI_RETURN : 0; in bpf_program__attach_uprobe_multi()
12068 bool retprobe, legacy; in bpf_program__attach_uprobe_opts() local
12075 retprobe = OPTS_GET(opts, retprobe, false); in bpf_program__attach_uprobe_opts()
12137 pfd = perf_event_open_probe(true /* uprobe */, retprobe, binary_path, in bpf_program__attach_uprobe_opts()
12152 pfd = perf_event_uprobe_open_legacy(legacy_probe, retprobe, in bpf_program__attach_uprobe_opts()
12158 prog->name, retprobe ? "uretprobe" : "uprobe", in bpf_program__attach_uprobe_opts()
12169 prog->name, retprobe ? "uretprobe" : "uprobe", in bpf_program__attach_uprobe_opts()
12179 perf_link->legacy_is_retprobe = retprobe; in bpf_program__attach_uprobe_opts()
12185 remove_uprobe_event_legacy(legacy_probe, retprobe); in bpf_program__attach_uprobe_opts()
12233 opts.retprobe = strcmp(probe_type, "uretprobe") == 0 || in attach_uprobe()
12235 if (opts.retprobe && offset != 0) { in attach_uprobe()
12257 bool retprobe, pid_t pid, in bpf_program__attach_uprobe() argument
12261 DECLARE_LIBBPF_OPTS(bpf_uprobe_opts, opts, .retprobe = retprobe); in bpf_program__attach_uprobe()