xref: /linux/tools/testing/selftests/bpf/progs/tracing_multi_rollback.c (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1*b349efe4SJiri Olsa // SPDX-License-Identifier: GPL-2.0
2*b349efe4SJiri Olsa #include <vmlinux.h>
3*b349efe4SJiri Olsa #include <bpf/bpf_helpers.h>
4*b349efe4SJiri Olsa #include <bpf/bpf_tracing.h>
5*b349efe4SJiri Olsa 
6*b349efe4SJiri Olsa char _license[] SEC("license") = "GPL";
7*b349efe4SJiri Olsa 
8*b349efe4SJiri Olsa int pid = 0;
9*b349efe4SJiri Olsa 
10*b349efe4SJiri Olsa __u64 test_result_fentry = 0;
11*b349efe4SJiri Olsa __u64 test_result_fexit = 0;
12*b349efe4SJiri Olsa 
13*b349efe4SJiri Olsa SEC("?fentry.multi")
14*b349efe4SJiri Olsa int BPF_PROG(test_fentry)
15*b349efe4SJiri Olsa {
16*b349efe4SJiri Olsa 	if (bpf_get_current_pid_tgid() >> 32 != pid)
17*b349efe4SJiri Olsa 		return 0;
18*b349efe4SJiri Olsa 
19*b349efe4SJiri Olsa 	test_result_fentry++;
20*b349efe4SJiri Olsa 	return 0;
21*b349efe4SJiri Olsa }
22*b349efe4SJiri Olsa 
23*b349efe4SJiri Olsa SEC("?fexit.multi")
24*b349efe4SJiri Olsa int BPF_PROG(test_fexit)
25*b349efe4SJiri Olsa {
26*b349efe4SJiri Olsa 	if (bpf_get_current_pid_tgid() >> 32 != pid)
27*b349efe4SJiri Olsa 		return 0;
28*b349efe4SJiri Olsa 
29*b349efe4SJiri Olsa 	test_result_fexit++;
30*b349efe4SJiri Olsa 	return 0;
31*b349efe4SJiri Olsa }
32*b349efe4SJiri Olsa 
33*b349efe4SJiri Olsa SEC("?fentry/bpf_fentry_test1")
34*b349efe4SJiri Olsa int BPF_PROG(extra)
35*b349efe4SJiri Olsa {
36*b349efe4SJiri Olsa 	return 0;
37*b349efe4SJiri Olsa }
38*b349efe4SJiri Olsa 
39*b349efe4SJiri Olsa SEC("?fentry/bpf_fentry_test10")
40*b349efe4SJiri Olsa int BPF_PROG(filler)
41*b349efe4SJiri Olsa {
42*b349efe4SJiri Olsa 	return 0;
43*b349efe4SJiri Olsa }
44