From: Jiri Olsa <olsajiri@gmail.com>
To: kernel test robot <lkp@intel.com>
Cc: oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>,
Alexei Starovoitov <ast@kernel.org>
Subject: Re: [linux-next:master 2368/6966] tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:330:18: warning: no previous prototype for 'bpf_kfunc_call_test_offset'
Date: Mon, 5 Jun 2023 09:04:17 +0200 [thread overview]
Message-ID: <ZH2I8W2aUkJyPliD@krava> (raw)
In-Reply-To: <202306051319.EihCQZPs-lkp@intel.com>
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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202306051319.EihCQZPs-lkp@intel.com/
>
> 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
next prev parent reply other threads:[~2023-06-05 7:04 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-05 5:50 [linux-next:master 2368/6966] tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c:330:18: warning: no previous prototype for 'bpf_kfunc_call_test_offset' kernel test robot
2023-06-05 7:04 ` Jiri Olsa [this message]
2023-06-05 21:00 ` Jiri Olsa
2023-06-06 6:28 ` Liu, Yujie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZH2I8W2aUkJyPliD@krava \
--to=olsajiri@gmail.com \
--cc=ast@kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.