xref: /linux/tools/testing/selftests/bpf/progs/tracing_multi_attach_module.c (revision b2128290c29902315e632ea59e0504d6bc9e9b42)
1*2863f074SJiri Olsa // SPDX-License-Identifier: GPL-2.0
2*2863f074SJiri Olsa #include <vmlinux.h>
3*2863f074SJiri Olsa #include <bpf/bpf_helpers.h>
4*2863f074SJiri Olsa #include <bpf/bpf_tracing.h>
5*2863f074SJiri Olsa 
6*2863f074SJiri Olsa char _license[] SEC("license") = "GPL";
7*2863f074SJiri Olsa 
8*2863f074SJiri Olsa __hidden extern int tracing_multi_arg_check(__u64 *ctx, __u64 *test_result, bool is_return);
9*2863f074SJiri Olsa 
10*2863f074SJiri Olsa __u64 test_result_fentry = 0;
11*2863f074SJiri Olsa __u64 test_result_fexit = 0;
12*2863f074SJiri Olsa 
13*2863f074SJiri Olsa SEC("fentry.multi/bpf_testmod:bpf_testmod_fentry_test*")
14*2863f074SJiri Olsa int BPF_PROG(test_fentry)
15*2863f074SJiri Olsa {
16*2863f074SJiri Olsa 	tracing_multi_arg_check(ctx, &test_result_fentry, false);
17*2863f074SJiri Olsa 	return 0;
18*2863f074SJiri Olsa }
19*2863f074SJiri Olsa 
20*2863f074SJiri Olsa SEC("fexit.multi/bpf_testmod:bpf_testmod_fentry_test*")
21*2863f074SJiri Olsa int BPF_PROG(test_fexit)
22*2863f074SJiri Olsa {
23*2863f074SJiri Olsa 	tracing_multi_arg_check(ctx, &test_result_fexit, true);
24*2863f074SJiri Olsa 	return 0;
25*2863f074SJiri Olsa }
26