net/bpf/test_run.c:249:1: warning: no previous declaration for 'bpf_kfunc_call_test_acquire'

From: kernel test robot
Date: Wed Sep 07 2022 - 09:48:28 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0066f1b0e27556381402db3ff31f85d2a2265858
commit: c1ff181ffabc292abcd1832a1c83aac2bc499e71 selftests/bpf: Extend kfunc selftests
date: 8 months ago
config: x86_64-randconfig-a003-20220829 (https://download.01.org/0day-ci/archive/20220907/202209072132.nwoItdQm-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c1ff181ffabc292abcd1832a1c83aac2bc499e71
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c1ff181ffabc292abcd1832a1c83aac2bc499e71
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/bpf/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

net/bpf/test_run.c:171:14: warning: no previous declaration for 'bpf_fentry_test1' [-Wmissing-declarations]
int noinline bpf_fentry_test1(int a)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:176:14: warning: no previous declaration for 'bpf_fentry_test2' [-Wmissing-declarations]
int noinline bpf_fentry_test2(int a, u64 b)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:181:14: warning: no previous declaration for 'bpf_fentry_test3' [-Wmissing-declarations]
int noinline bpf_fentry_test3(char a, int b, u64 c)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:186:14: warning: no previous declaration for 'bpf_fentry_test4' [-Wmissing-declarations]
int noinline bpf_fentry_test4(void *a, char b, int c, u64 d)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:191:14: warning: no previous declaration for 'bpf_fentry_test5' [-Wmissing-declarations]
int noinline bpf_fentry_test5(u64 a, void *b, short c, int d, u64 e)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:196:14: warning: no previous declaration for 'bpf_fentry_test6' [-Wmissing-declarations]
int noinline bpf_fentry_test6(u64 a, void *b, short c, int d, void *e, u64 f)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:205:14: warning: no previous declaration for 'bpf_fentry_test7' [-Wmissing-declarations]
int noinline bpf_fentry_test7(struct bpf_fentry_test_t *arg)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:210:14: warning: no previous declaration for 'bpf_fentry_test8' [-Wmissing-declarations]
int noinline bpf_fentry_test8(struct bpf_fentry_test_t *arg)
^~~~~~~~~~~~~~~~
net/bpf/test_run.c:215:14: warning: no previous declaration for 'bpf_modify_return_test' [-Wmissing-declarations]
int noinline bpf_modify_return_test(int a, int *b)
^~~~~~~~~~~~~~~~~~~~~~
net/bpf/test_run.c:221:14: warning: no previous declaration for 'bpf_kfunc_call_test1' [-Wmissing-declarations]
u64 noinline bpf_kfunc_call_test1(struct sock *sk, u32 a, u64 b, u32 c, u64 d)
^~~~~~~~~~~~~~~~~~~~
net/bpf/test_run.c:226:14: warning: no previous declaration for 'bpf_kfunc_call_test2' [-Wmissing-declarations]
int noinline bpf_kfunc_call_test2(struct sock *sk, u32 a, u32 b)
^~~~~~~~~~~~~~~~~~~~
net/bpf/test_run.c:231:24: warning: no previous declaration for 'bpf_kfunc_call_test3' [-Wmissing-declarations]
struct sock * noinline bpf_kfunc_call_test3(struct sock *sk)
^~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:249:1: warning: no previous declaration for 'bpf_kfunc_call_test_acquire' [-Wmissing-declarations]
bpf_kfunc_call_test_acquire(unsigned long *scalar_ptr)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:257:15: warning: no previous declaration for 'bpf_kfunc_call_test_release' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:299:15: warning: no previous declaration for 'bpf_kfunc_call_test_pass_ctx' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_pass_ctx(struct __sk_buff *skb)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:303:15: warning: no previous declaration for 'bpf_kfunc_call_test_pass1' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_pass1(struct prog_test_pass1 *p)
^~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:307:15: warning: no previous declaration for 'bpf_kfunc_call_test_pass2' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_pass2(struct prog_test_pass2 *p)
^~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:311:15: warning: no previous declaration for 'bpf_kfunc_call_test_fail1' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_fail1(struct prog_test_fail1 *p)
^~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:315:15: warning: no previous declaration for 'bpf_kfunc_call_test_fail2' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_fail2(struct prog_test_fail2 *p)
^~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:319:15: warning: no previous declaration for 'bpf_kfunc_call_test_fail3' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_fail3(struct prog_test_fail3 *p)
^~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:323:15: warning: no previous declaration for 'bpf_kfunc_call_test_mem_len_pass1' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_mem_len_pass1(void *mem, int mem__sz)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:327:15: warning: no previous declaration for 'bpf_kfunc_call_test_mem_len_fail1' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_mem_len_fail1(void *mem, int len)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/bpf/test_run.c:331:15: warning: no previous declaration for 'bpf_kfunc_call_test_mem_len_fail2' [-Wmissing-declarations]
noinline void bpf_kfunc_call_test_mem_len_fail2(u64 *mem, int len)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/bpf_kfunc_call_test_acquire +249 net/bpf/test_run.c

247
248 noinline struct prog_test_ref_kfunc *
> 249 bpf_kfunc_call_test_acquire(unsigned long *scalar_ptr)
250 {
251 /* randomly return NULL */
252 if (get_jiffies_64() % 2)
253 return NULL;
254 return &prog_test_struct;
255 }
256
> 257 noinline void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p)
258 {
259 }
260
261 struct prog_test_pass1 {
262 int x0;
263 struct {
264 int x1;
265 struct {
266 int x2;
267 struct {
268 int x3;
269 };
270 };
271 };
272 };
273
274 struct prog_test_pass2 {
275 int len;
276 short arr1[4];
277 struct {
278 char arr2[4];
279 unsigned long arr3[8];
280 } x;
281 };
282
283 struct prog_test_fail1 {
284 void *p;
285 int x;
286 };
287
288 struct prog_test_fail2 {
289 int x8;
290 struct prog_test_pass1 x;
291 };
292
293 struct prog_test_fail3 {
294 int len;
295 char arr1[2];
296 char arr2[0];
297 };
298
> 299 noinline void bpf_kfunc_call_test_pass_ctx(struct __sk_buff *skb)
300 {
301 }
302
> 303 noinline void bpf_kfunc_call_test_pass1(struct prog_test_pass1 *p)
304 {
305 }
306
> 307 noinline void bpf_kfunc_call_test_pass2(struct prog_test_pass2 *p)
308 {
309 }
310
> 311 noinline void bpf_kfunc_call_test_fail1(struct prog_test_fail1 *p)
312 {
313 }
314
> 315 noinline void bpf_kfunc_call_test_fail2(struct prog_test_fail2 *p)
316 {
317 }
318
> 319 noinline void bpf_kfunc_call_test_fail3(struct prog_test_fail3 *p)
320 {
321 }
322
> 323 noinline void bpf_kfunc_call_test_mem_len_pass1(void *mem, int mem__sz)
324 {
325 }
326
> 327 noinline void bpf_kfunc_call_test_mem_len_fail1(void *mem, int len)
328 {
329 }
330
> 331 noinline void bpf_kfunc_call_test_mem_len_fail2(u64 *mem, int len)
332 {
333 }
334

--
0-DAY CI Kernel Test Service
https://01.org/lkp