xref: /linux/tools/testing/selftests/bpf/progs/fexit_many_args.c (revision 24168c5e6dfbdd5b414f048f47f75d64533296ca)
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2023 Tencent */
3 #include <linux/bpf.h>
4 #include <bpf/bpf_helpers.h>
5 #include <bpf/bpf_tracing.h>
6 
7 char _license[] SEC("license") = "GPL";
8 
9 __u64 test1_result = 0;
10 SEC("fexit/bpf_testmod_fentry_test7")
11 int BPF_PROG(test1, __u64 a, void *b, short c, int d, void *e, char f,
12 	     int g, int ret)
13 {
14 	test1_result = a == 16 && b == (void *)17 && c == 18 && d == 19 &&
15 		e == (void *)20 && f == 21 && g == 22 && ret == 133;
16 	return 0;
17 }
18 
19 __u64 test2_result = 0;
20 SEC("fexit/bpf_testmod_fentry_test11")
21 int BPF_PROG(test2, __u64 a, void *b, short c, int d, void *e, char f,
22 	     int g, unsigned int h, long i, __u64 j, unsigned long k,
23 	     int ret)
24 {
25 	test2_result = a == 16 && b == (void *)17 && c == 18 && d == 19 &&
26 		e == (void *)20 && f == 21 && g == 22 && h == 23 &&
27 		i == 24 && j == 25 && k == 26 && ret == 231;
28 	return 0;
29 }
30 
31 __u64 test3_result = 0;
32 SEC("fexit/bpf_testmod_fentry_test11")
33 int BPF_PROG(test3, __u64 a, __u64 b, __u64 c, __u64 d, __u64 e, __u64 f,
34 	     __u64 g, __u64 h, __u64 i, __u64 j, __u64 k, __u64 ret)
35 {
36 	test3_result = a == 16 && b == 17 && c == 18 && d == 19 &&
37 		e == 20 && f == 21 && g == 22 && h == 23 &&
38 		i == 24 && j == 25 && k == 26 && ret == 231;
39 	return 0;
40 }
41