On Mon, Jun 05, 2023 at 01:50:10PM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: bc708bbd8260ee4eb3428b0109f5f3be661fae46 > commit: 65eb006d85a2ac0b23464808099726bd826e9877 [2368/6966] bpf: Move kernel test kfuncs to bpf_testmod > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 > reproduce: > # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=65eb006d85a2ac0b23464808099726bd826e9877 > git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > git fetch --no-tags linux-next master > git checkout 65eb006d85a2ac0b23464808099726bd826e9877 > 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> > | Closes: https://lore.kernel.org/oe-kbuild-all/202306051319.EihCQZPs-lkp@xxxxxxxxx/ > > All warnings (new ones prefixed by >>): > > tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:199:1: warning: no previous prototype for 'bpf_testmod_test_read' [-Wmissing-prototypes] > 199 | bpf_testmod_test_read(struct file *file, struct kobject *kobj, > | ^~~~~~~~~~~~~~~~~~~~~ > tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:259:1: warning: no previous prototype for 'bpf_testmod_test_write' [-Wmissing-prototypes] > 259 | bpf_testmod_test_write(struct file *file, struct kobject *kobj, > | ^~~~~~~~~~~~~~~~~~~~~~ > >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:330:18: warning: no previous prototype for 'bpf_kfunc_call_test_offset' [-Wmissing-prototypes] > 330 | __bpf_kfunc void bpf_kfunc_call_test_offset(struct prog_test_ref_kfunc *p) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:336:1: warning: no previous prototype for 'bpf_kfunc_call_memb_acquire' [-Wmissing-prototypes] > 336 | bpf_kfunc_call_memb_acquire(void) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:342:18: warning: no previous prototype for 'bpf_kfunc_call_memb1_release' [-Wmissing-prototypes] > 342 | __bpf_kfunc void bpf_kfunc_call_memb1_release(struct prog_test_member1 *p) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:394:18: warning: no previous prototype for 'bpf_kfunc_call_test_fail1' [-Wmissing-prototypes] > 394 | __bpf_kfunc void bpf_kfunc_call_test_fail1(struct prog_test_fail1 *p) > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:398:18: warning: no previous prototype for 'bpf_kfunc_call_test_fail2' [-Wmissing-prototypes] > 398 | __bpf_kfunc void bpf_kfunc_call_test_fail2(struct prog_test_fail2 *p) > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:402:18: warning: no previous prototype for 'bpf_kfunc_call_test_fail3' [-Wmissing-prototypes] > 402 | __bpf_kfunc void bpf_kfunc_call_test_fail3(struct prog_test_fail3 *p) > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > >> tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:410:18: warning: no previous prototype for 'bpf_kfunc_call_test_mem_len_fail1' [-Wmissing-prototypes] > 410 | __bpf_kfunc void bpf_kfunc_call_test_mem_len_fail1(void *mem, int len) > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:465:14: warning: no previous prototype for 'bpf_fentry_shadow_test' [-Wmissing-prototypes] > 465 | noinline int bpf_fentry_shadow_test(int a) > | ^~~~~~~~~~~~~~~~~~~~~~ hi, I can't reprduce, not event the old warnings.. is there perhaps specific .config you use for the kernel? thanks, jirka > > > vim +/bpf_kfunc_call_test_offset +330 tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c > > 329 > > 330 __bpf_kfunc void bpf_kfunc_call_test_offset(struct prog_test_ref_kfunc *p) > 331 { > 332 WARN_ON_ONCE(1); > 333 } > 334 > 335 __bpf_kfunc struct prog_test_member * > > 336 bpf_kfunc_call_memb_acquire(void) > 337 { > 338 WARN_ON_ONCE(1); > 339 return NULL; > 340 } > 341 > > 342 __bpf_kfunc void bpf_kfunc_call_memb1_release(struct prog_test_member1 *p) > 343 { > 344 WARN_ON_ONCE(1); > 345 } > 346 > 347 static int *__bpf_kfunc_call_test_get_mem(struct prog_test_ref_kfunc *p, const int size) > 348 { > 349 if (size > 2 * sizeof(int)) > 350 return NULL; > 351 > 352 return (int *)p; > 353 } > 354 > 355 __bpf_kfunc int *bpf_kfunc_call_test_get_rdwr_mem(struct prog_test_ref_kfunc *p, > 356 const int rdwr_buf_size) > 357 { > 358 return __bpf_kfunc_call_test_get_mem(p, rdwr_buf_size); > 359 } > 360 > 361 __bpf_kfunc int *bpf_kfunc_call_test_get_rdonly_mem(struct prog_test_ref_kfunc *p, > 362 const int rdonly_buf_size) > 363 { > 364 return __bpf_kfunc_call_test_get_mem(p, rdonly_buf_size); > 365 } > 366 > 367 /* the next 2 ones can't be really used for testing expect to ensure > 368 * that the verifier rejects the call. > 369 * Acquire functions must return struct pointers, so these ones are > 370 * failing. > 371 */ > 372 __bpf_kfunc int *bpf_kfunc_call_test_acq_rdonly_mem(struct prog_test_ref_kfunc *p, > 373 const int rdonly_buf_size) > 374 { > 375 return __bpf_kfunc_call_test_get_mem(p, rdonly_buf_size); > 376 } > 377 > 378 __bpf_kfunc void bpf_kfunc_call_int_mem_release(int *p) > 379 { > 380 } > 381 > 382 __bpf_kfunc void bpf_kfunc_call_test_pass_ctx(struct __sk_buff *skb) > 383 { > 384 } > 385 > 386 __bpf_kfunc void bpf_kfunc_call_test_pass1(struct prog_test_pass1 *p) > 387 { > 388 } > 389 > 390 __bpf_kfunc void bpf_kfunc_call_test_pass2(struct prog_test_pass2 *p) > 391 { > 392 } > 393 > > 394 __bpf_kfunc void bpf_kfunc_call_test_fail1(struct prog_test_fail1 *p) > 395 { > 396 } > 397 > > 398 __bpf_kfunc void bpf_kfunc_call_test_fail2(struct prog_test_fail2 *p) > 399 { > 400 } > 401 > > 402 __bpf_kfunc void bpf_kfunc_call_test_fail3(struct prog_test_fail3 *p) > 403 { > 404 } > 405 > 406 __bpf_kfunc void bpf_kfunc_call_test_mem_len_pass1(void *mem, int mem__sz) > 407 { > 408 } > 409 > > 410 __bpf_kfunc void bpf_kfunc_call_test_mem_len_fail1(void *mem, int len) > 411 { > 412 } > 413 > > -- > 0-DAY CI Kernel Test Service > https://github.com/intel/lkp-tests/wiki