| /linux/include/linux/ |
| H A D | kprobes.h | 51 struct kretprobe; 142 struct kretprobe __rcu *rp; 146 struct kretprobe { struct 198 static nokprobe_inline struct kretprobe *get_kretprobe(struct kretprobe_instance *ri) in get_kretprobe() 201 return (struct kretprobe *)ri->node.rethook->data; in get_kretprobe() 244 static nokprobe_inline struct kretprobe *get_kretprobe(struct kretprobe_instance *ri) in get_kretprobe() 256 static inline void arch_prepare_kretprobe(struct kretprobe *rp, in arch_prepare_kretprobe() 410 int register_kretprobe(struct kretprobe *rp); 411 void unregister_kretprobe(struct kretprobe *rp); 412 int register_kretprobes(struct kretprobe **rps, int num); [all …]
|
| /linux/lib/tests/ |
| H A D | test_kprobes.c | 195 static struct kretprobe rp = { 220 static struct kretprobe rp2 = { 228 struct kretprobe *rps[2] = {&rp, &rp2}; in test_kretprobes() 282 static struct kretprobe rp3 = { 341 static struct kretprobe rp4 = { 349 struct kretprobe *rps[2] = {&rp3, &rp4}; in test_stacktrace_on_nested_kretprobe()
|
| /linux/tools/testing/selftests/bpf/benchs/ |
| H A D | run_bench_trigger.sh | 10 kretprobe kretprobe-multi kretprobe-multi-all \
|
| H A D | run_bench_rename.sh | 5 for i in base kprobe kretprobe rawtp fentry fexit
|
| H A D | bench_trigger.c | 230 static void attach_ksyms_all(struct bpf_program *empty, bool kretprobe) in attach_ksyms_all() argument 241 * So, don't run the kprobe-multi-all and kretprobe-multi-all on in attach_ksyms_all() 251 opts.retprobe = kretprobe; in attach_ksyms_all() 631 BENCH_TRIG_KERNEL(kretprobe, "kretprobe"); 633 BENCH_TRIG_KERNEL(kretprobe_multi, "kretprobe-multi"); 636 BENCH_TRIG_KERNEL(kretprobe_multi_all, "kretprobe-multi-all");
|
| /linux/Documentation/trace/ |
| H A D | kprobes.rst | 58 a kretprobe. But if you're in a hurry to start using Kprobes, you 120 kretprobe, then sets the saved instruction pointer to the saved return 126 kretprobe struct to specify how many instances of the specified 137 some probes. In the kretprobe struct, the nmissed field is set to 147 field of the kretprobe struct. Whenever the kprobe placed by kretprobe at the 152 the kretprobe has no further effect for that particular function instance. 159 private data object can be specified at kretprobe registration time by 160 setting the data_size field of the kretprobe struct. This data can be 421 int register_kretprobe(struct kretprobe *rp); 443 - rp: points to the corresponding kretprobe object [all …]
|
| H A D | kprobetrace.rst | 10 this is based on kprobes (kprobe and kretprobe). So it can probe wherever 85 Function arguments at kretprobe 87 Function arguments can be accessed at kretprobe using $arg<N> fetcharg. This 224 This sets a kretprobe on the return point of do_sys_open() function with
|
| H A D | events.rst | 617 kretprobe events. 628 - dynamically creating kprobe and kretprobe event definitions 947 7.3 Dynamically creating kprobe and kretprobe event definitions 950 To create a kprobe or kretprobe trace event from kernel code, the 991 or kretprobe command was started:: 1002 Similarly, a kretprobe event can be created using
|
| H A D | fprobe.rst | 23 The fprobe is a wrapper of ftrace (+ kretprobe-like return callback) to
|
| /linux/tools/bpf/bpftool/Documentation/ |
| H A D | bpftool-perf.rst | 57 pid 21765 fd 5: prog_id 7 kretprobe func __x64_sys_nanosleep offset 0 67 … {"pid":21765,"fd":5,"prog_id":7,"fd_type":"kretprobe","func":"__x64_sys_nanosleep","offset":0}, \
|
| H A D | bpftool-prog.rst | 46 | **socket** | **kprobe** | **kretprobe** | **classifier** | **action** |
|
| /linux/kernel/ |
| H A D | kprobes.c | 1964 struct kretprobe *rp = get_kretprobe(ri); in recycle_rp_inst() 2002 static inline void free_rp_inst(struct kretprobe *rp) in free_rp_inst() 2086 struct kretprobe *rp; in __kretprobe_trampoline_handler() 2150 struct kretprobe *rp = container_of(p, struct kretprobe, kp); in NOKPROBE_SYMBOL() 2179 struct kretprobe *rp = container_of(p, struct kretprobe, kp); in pre_handler_kretprobe() 2204 struct kretprobe *rp = (struct kretprobe *)data; in kretprobe_rethook_handler() 2252 int register_kretprobe(struct kretprobe *rp) in register_kretprobe() 2324 int register_kretprobes(struct kretprobe **rps, int num) in register_kretprobes() 2342 void unregister_kretprobe(struct kretprobe *rp) in unregister_kretprobe() 2348 void unregister_kretprobes(struct kretprobe **rps, int num) in unregister_kretprobes() [all …]
|
| /linux/samples/kprobes/ |
| H A D | kretprobe_example.c | 72 static struct kretprobe my_kretprobe = {
|
| /linux/arch/arm64/kernel/ |
| H A D | stacktrace.c | 35 kretprobe : 1; member 158 state->flags.kretprobe = 1; in kunwind_recover_return_address() 471 flags.kretprobe ? "K" : "", in dump_backtrace_entry()
|
| /linux/kernel/trace/ |
| H A D | trace_kprobe.c | 62 struct kretprobe rp; /* Use rp.kp for kprobe use */ 1175 int __kprobe_event_gen_cmd_start(struct dynevent_cmd *cmd, bool kretprobe, in __kprobe_event_gen_cmd_start() argument 1189 if (kretprobe) in __kprobe_event_gen_cmd_start() 1528 struct kretprobe *rp = get_kretprobe(ri); in trace_kprobe_entry_handler() 1855 struct kretprobe *rp = get_kretprobe(ri); in kretprobe_dispatcher()
|
| /linux/arch/s390/lib/ |
| H A D | test_unwind.c | 191 struct kretprobe my_kretprobe; in test_unwind_kretprobe()
|
| /linux/arch/arm/probes/kprobes/ |
| H A D | test-core.c | 378 static struct kretprobe the_kretprobe = {
|