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("fexit/bpf_fentry_test1")
11 int BPF_PROG(test1
, int a
, int ret
)
13 test1_result
= a
== 1 && ret
== 2;
17 __u64 test2_result
= 0;
18 SEC("fexit/bpf_fentry_test2")
19 int BPF_PROG(test2
, int a
, __u64 b
, int ret
)
21 test2_result
= a
== 2 && b
== 3 && ret
== 5;
25 __u64 test3_result
= 0;
26 SEC("fexit/bpf_fentry_test3")
27 int BPF_PROG(test3
, char a
, int b
, __u64 c
, int ret
)
29 test3_result
= a
== 4 && b
== 5 && c
== 6 && ret
== 15;
33 __u64 test4_result
= 0;
34 SEC("fexit/bpf_fentry_test4")
35 int BPF_PROG(test4
, void *a
, char b
, int c
, __u64 d
, int ret
)
37 test4_result
= a
== (void *)7 && b
== 8 && c
== 9 && d
== 10 &&
42 __u64 test5_result
= 0;
43 SEC("fexit/bpf_fentry_test5")
44 int BPF_PROG(test5
, __u64 a
, void *b
, short c
, int d
, __u64 e
, int ret
)
46 test5_result
= a
== 11 && b
== (void *)12 && c
== 13 && d
== 14 &&
51 __u64 test6_result
= 0;
52 SEC("fexit/bpf_fentry_test6")
53 int BPF_PROG(test6
, __u64 a
, void *b
, short c
, int d
, void *e
, __u64 f
, int ret
)
55 test6_result
= a
== 16 && b
== (void *)17 && c
== 18 && d
== 19 &&
56 e
== (void *)20 && f
== 21 && ret
== 111;
60 struct bpf_fentry_test_t
{
61 struct bpf_fentry_test
*a
;
64 __u64 test7_result
= 0;
65 SEC("fexit/bpf_fentry_test7")
66 int BPF_PROG(test7
, struct bpf_fentry_test_t
*arg
)
73 __u64 test8_result
= 0;
74 SEC("fexit/bpf_fentry_test8")
75 int BPF_PROG(test8
, struct bpf_fentry_test_t
*arg
)