1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2019 Facebook */
4 #include <bpf/bpf_helpers.h>
5 #include <bpf/bpf_tracing.h>
7 char _license
[] SEC("license") = "GPL";
9 __u64 test1_result
= 0;
10 SEC("fentry/bpf_fentry_test1")
11 int BPF_PROG(test1
, int a
)
13 test1_result
= a
== 1;
17 __u64 test2_result
= 0;
18 SEC("fentry/bpf_fentry_test2")
19 int BPF_PROG(test2
, int a
, __u64 b
)
21 test2_result
= a
== 2 && b
== 3;
25 __u64 test3_result
= 0;
26 SEC("fentry/bpf_fentry_test3")
27 int BPF_PROG(test3
, char a
, int b
, __u64 c
)
29 test3_result
= a
== 4 && b
== 5 && c
== 6;
33 __u64 test4_result
= 0;
34 SEC("fentry/bpf_fentry_test4")
35 int BPF_PROG(test4
, void *a
, char b
, int c
, __u64 d
)
37 test4_result
= a
== (void *)7 && b
== 8 && c
== 9 && d
== 10;
41 __u64 test5_result
= 0;
42 SEC("fentry/bpf_fentry_test5")
43 int BPF_PROG(test5
, __u64 a
, void *b
, short c
, int d
, __u64 e
)
45 test5_result
= a
== 11 && b
== (void *)12 && c
== 13 && d
== 14 &&
50 __u64 test6_result
= 0;
51 SEC("fentry/bpf_fentry_test6")
52 int BPF_PROG(test6
, __u64 a
, void *b
, short c
, int d
, void * e
, __u64 f
)
54 test6_result
= a
== 16 && b
== (void *)17 && c
== 18 && d
== 19 &&
55 e
== (void *)20 && f
== 21;
59 struct bpf_fentry_test_t
{
60 struct bpf_fentry_test_t
*a
;
63 __u64 test7_result
= 0;
64 SEC("fentry/bpf_fentry_test7")
65 int BPF_PROG(test7
, struct bpf_fentry_test_t
*arg
)
72 __u64 test8_result
= 0;
73 SEC("fentry/bpf_fentry_test8")
74 int BPF_PROG(test8
, struct bpf_fentry_test_t
*arg
)