1 | // SPDX-License-Identifier: GPL-2.0 |
2 | // Copyright (c) 2017 Facebook |
3 | |
4 | #include "vmlinux.h" |
5 | #include <bpf/bpf_helpers.h> |
6 | #include <bpf/bpf_tracing.h> |
7 | #include <bpf/bpf_core_read.h> |
8 | #include "bpf_misc.h" |
9 | |
10 | int kprobe_res = 0; |
11 | int kretprobe_res = 0; |
12 | int uprobe_res = 0; |
13 | int uretprobe_res = 0; |
14 | int uprobe_byname_res = 0; |
15 | void *user_ptr = 0; |
16 | |
17 | SEC("kprobe" ) |
18 | int handle_kprobe(struct pt_regs *ctx) |
19 | { |
20 | kprobe_res = 1; |
21 | return 0; |
22 | } |
23 | |
24 | SEC("kretprobe" ) |
25 | int handle_kretprobe(struct pt_regs *ctx) |
26 | { |
27 | kretprobe_res = 2; |
28 | return 0; |
29 | } |
30 | |
31 | SEC("uprobe" ) |
32 | int handle_uprobe(struct pt_regs *ctx) |
33 | { |
34 | uprobe_res = 3; |
35 | return 0; |
36 | } |
37 | |
38 | SEC("uretprobe" ) |
39 | int handle_uretprobe(struct pt_regs *ctx) |
40 | { |
41 | uretprobe_res = 4; |
42 | return 0; |
43 | } |
44 | |
45 | SEC("uprobe" ) |
46 | int handle_uprobe_byname(struct pt_regs *ctx) |
47 | { |
48 | uprobe_byname_res = 5; |
49 | return 0; |
50 | } |
51 | |
52 | |
53 | char _license[] SEC("license" ) = "GPL" ; |
54 | |