From: kernel test robot <lkp@intel.com>
To: Jiri Olsa <jolsa@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>,
Alexei Starovoitov <ast@kernel.org>
Subject: [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 13:50:10 +0800 [thread overview]
Message-ID: <202306051319.EihCQZPs-lkp@intel.com> (raw)
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)
| ^~~~~~~~~~~~~~~~~~~~~~
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 reply other threads:[~2023-06-05 5:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-05 5:50 kernel test robot [this message]
2023-06-05 7:04 ` [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' Jiri Olsa
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=202306051319.EihCQZPs-lkp@intel.com \
--to=lkp@intel.com \
--cc=ast@kernel.org \
--cc=jolsa@kernel.org \
--cc=linux-mm@kvack.org \
--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.