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