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
10int kprobe_res = 0;
11int kretprobe_res = 0;
12int uprobe_res = 0;
13int uretprobe_res = 0;
14int uprobe_byname_res = 0;
15void *user_ptr = 0;
16
17SEC("kprobe")
18int handle_kprobe(struct pt_regs *ctx)
19{
20	kprobe_res = 1;
21	return 0;
22}
23
24SEC("kretprobe")
25int handle_kretprobe(struct pt_regs *ctx)
26{
27	kretprobe_res = 2;
28	return 0;
29}
30
31SEC("uprobe")
32int handle_uprobe(struct pt_regs *ctx)
33{
34	uprobe_res = 3;
35	return 0;
36}
37
38SEC("uretprobe")
39int handle_uretprobe(struct pt_regs *ctx)
40{
41	uretprobe_res = 4;
42	return 0;
43}
44
45SEC("uprobe")
46int handle_uprobe_byname(struct pt_regs *ctx)
47{
48	uprobe_byname_res = 5;
49	return 0;
50}
51
52
53char _license[] SEC("license") = "GPL";
54