tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:32:1: warning: no previous prototype for 'bpf_testmod_test_struct_arg_1'

From: kernel test robot
Date: Wed Apr 05 2023 - 01:35:05 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 76f598ba7d8e2bfb4855b5298caedd5af0c374a8
commit: 1642a3945e223a922312fab2401ecdf58b3825b9 selftests/bpf: Add struct argument tests with fentry/fexit programs.
date: 7 months ago
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce:
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1642a3945e223a922312fab2401ecdf58b3825b9
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 1642a3945e223a922312fab2401ecdf58b3825b9
make O=/tmp/kselftest headers
make O=/tmp/kselftest -C tools/testing/selftests

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202304051344.Ti1Rnzds-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:32:1: warning: no previous prototype for 'bpf_testmod_test_struct_arg_1' [-Wmissing-prototypes]
32 | bpf_testmod_test_struct_arg_1(struct bpf_testmod_struct_arg_2 a, int b, int c) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:38:1: warning: no previous prototype for 'bpf_testmod_test_struct_arg_2' [-Wmissing-prototypes]
38 | bpf_testmod_test_struct_arg_2(int a, struct bpf_testmod_struct_arg_2 b, int c) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:44:1: warning: no previous prototype for 'bpf_testmod_test_struct_arg_3' [-Wmissing-prototypes]
44 | bpf_testmod_test_struct_arg_3(int a, int b, struct bpf_testmod_struct_arg_2 c) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:50:1: warning: no previous prototype for 'bpf_testmod_test_struct_arg_4' [-Wmissing-prototypes]
50 | bpf_testmod_test_struct_arg_4(struct bpf_testmod_struct_arg_1 a, int b,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:57:1: warning: no previous prototype for 'bpf_testmod_test_struct_arg_5' [-Wmissing-prototypes]
57 | bpf_testmod_test_struct_arg_5(void) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:63:1: warning: no previous prototype for 'bpf_testmod_test_mod_kfunc' [-Wmissing-prototypes]
63 | bpf_testmod_test_mod_kfunc(int i)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:81:1: warning: no previous prototype for 'bpf_testmod_test_btf_type_tag_user_1' [-Wmissing-prototypes]
81 | bpf_testmod_test_btf_type_tag_user_1(struct bpf_testmod_btf_type_tag_1 __user *arg) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:89:1: warning: no previous prototype for 'bpf_testmod_test_btf_type_tag_user_2' [-Wmissing-prototypes]
89 | bpf_testmod_test_btf_type_tag_user_2(struct bpf_testmod_btf_type_tag_2 *arg) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:94:1: warning: no previous prototype for 'bpf_testmod_test_btf_type_tag_percpu_1' [-Wmissing-prototypes]
94 | bpf_testmod_test_btf_type_tag_percpu_1(struct bpf_testmod_btf_type_tag_1 __percpu *arg) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:99:1: warning: no previous prototype for 'bpf_testmod_test_btf_type_tag_percpu_2' [-Wmissing-prototypes]
99 | bpf_testmod_test_btf_type_tag_percpu_2(struct bpf_testmod_btf_type_tag_3 *arg) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:103:14: warning: no previous prototype for 'bpf_testmod_loop_test' [-Wmissing-prototypes]
103 | noinline int bpf_testmod_loop_test(int n)
| ^~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:115:30: warning: no previous prototype for 'bpf_testmod_return_ptr' [-Wmissing-prototypes]
115 | __weak noinline struct file *bpf_testmod_return_ptr(int arg)
| ^~~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:132:1: warning: no previous prototype for 'bpf_testmod_test_read' [-Wmissing-prototypes]
132 | bpf_testmod_test_read(struct file *file, struct kobject *kobj,
| ^~~~~~~~~~~~~~~~~~~~~
tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:176:1: warning: no previous prototype for 'bpf_testmod_test_write' [-Wmissing-prototypes]
176 | bpf_testmod_test_write(struct file *file, struct kobject *kobj,
| ^~~~~~~~~~~~~~~~~~~~~~


vim +/bpf_testmod_test_struct_arg_1 +32 tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c

30
31 noinline int
> 32 bpf_testmod_test_struct_arg_1(struct bpf_testmod_struct_arg_2 a, int b, int c) {
33 bpf_testmod_test_struct_arg_result = a.a + a.b + b + c;
34 return bpf_testmod_test_struct_arg_result;
35 }
36
37 noinline int
> 38 bpf_testmod_test_struct_arg_2(int a, struct bpf_testmod_struct_arg_2 b, int c) {
39 bpf_testmod_test_struct_arg_result = a + b.a + b.b + c;
40 return bpf_testmod_test_struct_arg_result;
41 }
42
43 noinline int
> 44 bpf_testmod_test_struct_arg_3(int a, int b, struct bpf_testmod_struct_arg_2 c) {
45 bpf_testmod_test_struct_arg_result = a + b + c.a + c.b;
46 return bpf_testmod_test_struct_arg_result;
47 }
48
49 noinline int
> 50 bpf_testmod_test_struct_arg_4(struct bpf_testmod_struct_arg_1 a, int b,
51 int c, int d, struct bpf_testmod_struct_arg_2 e) {
52 bpf_testmod_test_struct_arg_result = a.a + b + c + d + e.a + e.b;
53 return bpf_testmod_test_struct_arg_result;
54 }
55
56 noinline int
> 57 bpf_testmod_test_struct_arg_5(void) {
58 bpf_testmod_test_struct_arg_result = 1;
59 return bpf_testmod_test_struct_arg_result;
60 }
61

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests