xref: /linux/tools/testing/selftests/bpf/progs/tracing_multi_verifier.c (revision 68f4e480b089abae26fbab0c38c3df3cbac3d79d)
1 // SPDX-License-Identifier: GPL-2.0
2 #include "vmlinux.h"
3 #include <bpf/bpf_helpers.h>
4 #include <bpf/bpf_tracing.h>
5 #include "bpf_misc.h"
6 
7 char _license[] SEC("license") = "GPL";
8 
9 SEC("fentry.multi/bpf_fentry_test1")
10 __failure
11 __msg("func 'bpf_multi_func' doesn't have 1-th argument")
12 int BPF_PROG(fentry_direct_access, int a)
13 {
14 	return a;
15 }
16 
17 SEC("fexit.multi/bpf_fentry_test3")
18 __failure
19 __msg("invalid bpf_context access off=24 size=8")
20 int BPF_PROG(fexit_direct_access, char a, int b, __u64 c, int ret)
21 {
22 	return ret;
23 }
24 
25 SEC("fsession.multi/bpf_fentry_test4")
26 __failure
27 __msg("invalid bpf_context access off=16 size=8")
28 int BPF_PROG(fsession_direct_access, void *a, char b, int c, __u64 d, int ret)
29 {
30 	return c;
31 }
32